什么控制 NuGet 包中引用的特定版本 属性?

What controls the Specific Version property of a reference in a NuGet package?

我们有许多构建在 CI 中的库,它们在每次构建时都会部署预发布版。其他项目依赖于这些并在构建期间自动更新它们。

但是引用设置为 Specific Version = true,这意味着增加这些 dll 的版本号会导致构建失败。

如何控制 属性 的设置?

您不能在不更改源代码的情况下更改 NuGet 的行为。 NuGet will always sets SpecificVersion to true 从 Visual Studio.

中添加非 GAC 程序集时

您需要 运行 某种 post 构建脚本来修复引用或手动更改它们。

不确定您是如何更新 CI 服务器中的项目的。如果您使用 NuGet.exe update project.csproj,那么这将更新到最新的 NuGet 包,并且不会将 SpecificVersion 设置为 true。但是,命令行应用程序不支持 PowerShell 脚本或内容文件,只会更新引用。这也假定有可用的更新,否则将不会修改引用。