在Visual Studio 2017中,netstandard库有一种新格式,可以合理地直接生成nupkg。它看起来像这样:
在csproj中,它看起来像这样:
有没有办法告诉msbuild包版本应该是什么,以便sln中的项目同时更新,以便nuspec最终具有正确的版本依赖?这可能是错误,但是当我使用msbuild /p:Configuration=Release /p:PackageVersion=3.1.7
并且原始的手型版本是2.0.0时。如果我有一个alpha和beta项目,beta依赖于alpha,我最终会得到
alpha-3.1.7.nupkg
beta-3.1.7.nupkg依赖于alpha-2.0.0
也许唯一的方法是在csproj上进行正则表达式替换,但如果我可以避免这种情况会很好。
此外,此PackageVersion方法不会更新真实版本:
答案 0 :(得分:2)
目前,版本在恢复期间被锁定,而不是在构建期间锁定。
作为解决方法,您可以使用
msbuild /restore /p:Version=1.2.3
(推荐,需要MSBuild 15.5 +)
或
msbuild /t:Restore;Pack /p:Version=1.2.3
(Version
也会影响生成的程序集版本,但您可以使用PackageVersion
仅更改生成的nupkg版本。)
请参阅this GitHub issue以了解基础NuGet问题(目前,计划是在将来的版本中构建期间将更新依赖关系版本。)