【问题标题】:How to prevent Nuget from updating automatically package (minor) versions?如何防止 Nuget 自动更新包(次要)版本?
【发布时间】:2013-05-07 15:36:20
【问题描述】:

在 VS 解决方案中,我有依赖项(在 packages.config 文件中)

  • 一个包 A,版本 2.0.0,它依赖于包 B 版本 >= 5.0.0.0。 A 的最新版本是 2.1.0,与 2.0.0 具有相同的依赖关系
  • 包 B,版本 10.0.0.0。最新版本是 10.0.5.2

我想将包 A 更新到 2.1.0 所以我尝试了命令

update-package A

在“包管理器控制台”中。但奇怪的是,Nuget 还将包 B 更新为 10.0.5.2。

有人告诉我,默认情况下,Nuget 会更新到“错误修复”版本,但我还没有找到相关链接。

有谁知道如何告诉 Nuget 不要自动更新其他软件包?

关于信息,我使用的是 Nuget 2.5,所以根据http://docs.nuget.org/docs/reference/versioning,包安装过程中不再更新依赖项

谢谢。

【问题讨论】:

  • 这些是您自己的内部 NuGet 包,还是存在于官方 NuGet 存储库中?如果是后者,如果您可以指定遇到此问题的软件包和版本可能会有所帮助。

标签: visual-studio package nuget


【解决方案1】:

据我所知,这是无法做到的,这也是我们创建ProGet Client Tools 的主要原因。

您可以通过在 packages.config 文件中将其括在括号中(例如[10.0.0.0])来避免指定显式版本,但是当我尝试它时似乎仍然抓住了错误修复版本 - 尽管我没有尚未在最新版本上对其进行测试。

供参考,这里详细介绍NuGet依赖版本选择算法:http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html

【讨论】:

猜你喜欢
  • 2014-09-19
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
  • 2019-04-15
  • 2014-05-15
  • 1970-01-01
  • 2017-09-07
  • 1970-01-01
相关资源
最近更新 更多