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

Why is the NuGet Package Manager removing SpecificVersion False from the project file

当我更新一个 NuGet 包时,我将其引用设置为

<SpecificVersion>False</SpecificVersion>

它从项目 (csproj) 文件中删除了这一行。

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

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

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

在 MonoDevelop 和 Xamarin Studio 中明确添加支持以维护引用的本地副本值而不是特定版本属性。