我正在使用VS2017,并且已经编写了一个自定义MSBuild SDK,该SDK为每个项目创建了一个版本,它不会更新更新项目文件。在SDK中创建和引用的版本。这项工作非常适合项目本身,并且会反映出项目中创建的nuget包。
但是当我从另一个项目引用该项目并从第二个项目创建nuget包时,它将始终创建对第一个项目的1.0.0版的依赖。
看起来nuget pack任务只看项目文件本身,而从未运行我的SDK来更新项目版本。
现在的问题:
答案 0 :(得分:2)
毕竟,我是通过在NuGet.Build.Tasks.Pack.targets
中搜索来找到答案的。
当NuGet想要打包项目时,它将从引用的程序集中调用_GetProjectVersion以获取其版本,并且它取决于GetPackageVersionDependsOn
。
所以我唯一要做的就是在GetPackageVersionDependsOn
的{{1}}中添加用于更新项目版本的任务:
Sdk.props