【问题标题】:Xamarin studio - ignore package updates?Xamarin 工作室 - 忽略包更新?
【发布时间】:2016-07-08 00:29:09
【问题描述】:

我有一个以前的 Xamarin iOS 项目,但不再编译。

相同的代码、相同的组件和 nuget 包引用不再编译。

错误信息如下: The type or namespace 'xamarin' could not be found. Are you missing an assembly reference?

(是的,它找不到 Xamarin。我在 Google.Maps 和 Newtonsoft.Json 中也有这个)。

Xamarin 工作室显示包含可用更新的包。如果我选择更新包,构建会更进一步(或抱怨缺少不同的库)。

我不想更新软件包。我们正在使用的那些对于我们的使用来说是稳定的并且是已知良好的。

我如何告诉 Xamarin Studio 我不想更新,实际上我想继续使用已知可用的版本?

谢谢

【问题讨论】:

  • 如果您执行 Nuget“还原”(通过解决方案级别 Nuget Restore Packages),您是否在“包控制台”窗口中收到任何错误?
  • 使用 Nuget 还原,我得到“包成功还原”。在顶部,包控制台显示“正在恢复包...跳过 x 因为它已经恢复(重复),所有包都已恢复。”
  • 假设您的原始解决方案的项目在每个项目的 packages.config 中都有所有正确的引用,这就是您应该做的所有事情,因为 Xamarin Studio 不会“升级”到较新的 Nuget 包,除非您告诉它到。
  • 便宜货,但您是否尝试过删除解决方案中的 obj 和 bin 文件夹?当我开始让 Xamarin 丢失错误时,通常临时文件的某些东西已经偏离了...

标签: xamarin xamarin.ios xamarin-studio


【解决方案1】:

我如何告诉 Xamarin Studio 我不想更新,实际上我想继续使用已知可用的版本?

最简单的方法是什么都不做。 Xamarin Studio 不会自动更新你的 NuGet 包。您需要自己触发更新。

您还可以在 Preferences - NuGet - General 中禁用检查 NuGet 包更新。

最后,如果你想确保 NuGet 包没有更新,那么你可以在 packages.config 文件中设置限制:

<packages>
    <package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" />
</packages>

NuGet site 上提供了有关支持的 allowedVersions 语法的更多信息

但是,如果您在未修改 NuGet 包的情况下遇到错误,则上述所有内容都不会修复您的构建错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 2015-11-20
    • 1970-01-01
    相关资源
    最近更新 更多