4

在 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,在包安装期间不再更新依赖项

谢谢。

4

1 回答 1

2

据我所知,这是无法做到的,这也是我们创建ProGet 客户端工具的主要原因。

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

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

于 2013-05-06T15:05:50.770 回答