为什么NuGet包管理器从项目文件中删除了SpecificVersion False

Dej*_*jan 7 c# nuget nuget-package visual-studio-2012

当我更新我设置为引用的NuGet包时

<SpecificVersion>False</SpecificVersion>
Run Code Online (Sandbox Code Playgroud)

它从项目(csproj)文件中删除此行.

这种行为背后的理由是什么,有没有办法控制或解决这个问题?

Mat*_*ard 4

这就是目前 NuGet 的实现方式。据我所知,没有解决方法。您可能需要编写一个 PowerShell 脚本来修复更新时更改的引用。

升级 NuGet 包将卸载旧版本并安装新版本,这会导致引用被删除然后再次添加。新引用具有新引用的默认值,因此不会记住旧值。

在 MonoDevelop 和 Xamarin Studio 中,显式添加了支持以维护引用的本地副本值,但不添加特定版本属性。

  • 我很惊讶很少有人提出这个要求。我已在 GitHub 上就此问题打开了[一个问题](https://github.com/NuGet/Home/issues/1380)。 (5认同)