如何防止Nuget自动更新包(小)版本?

如何防止Nuget自动更新包(小)版本?

问题描述:

在VS溶液,我有作为依赖(在packages.config文件)如何防止Nuget自动更新包(小)版本?

  • 一个包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,依赖不再更新。

+0

这些是你自己的内部的NuGet包,或者他们在官方的NuGet库是否存在?如果是后者,如果你可以指定哪些软件包以及哪些版本遇到了这个问题,它可能会有所帮助。 – Nailuj 2013-05-06 08:40:53

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

你可以通过在packages.config文件中的方括号(例如[10.0.0.0])中指定明确的版本,但当我尝试它时似乎抓住了错误修复版本 - 虽然我没有'没有在最新版本上测试过它。

作为参考,依赖的NuGet版本选择算法进行了详细说明如下:http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html

+2

与NuGet依赖版本算法的链接有点旧,而且随着NuGet 2.5的发布(http://docs.nuget.org/docs/release-notes/nuget-2.5#​​Dependencies_are_no_longer_unnecessarily_updated_during_package_installation),事情可能已经发生了变化。尤其要注意的是_Dependencies部分在安装包的过程中不再被不必要地更新。有关更多详细信息,请查看相关工作项目(https://nuget.codeplex.com/workitem/1681)和讨论主题(https://nuget.codeplex.com/discussions/436712)。 – Nailuj 2013-05-07 07:36:36