Nuget任务忽略引用项目的自定义版本

时间:2018-09-04 11:44:59

标签: nuget-package msbuild-task

我正在使用VS2017,并且已经编写了一个自定义MSBuild SDK,该SDK为每个项目创建了一个版本,它不会更新更新项目文件。在SDK中创建和引用的版本。这项工作非常适合项目本身,并且会反映出项目中创建的nuget包。
但是当我从另一个项目引用该项目并从第二个项目创建nuget包时,它将始终创建对第一个项目的1.0.0版的依赖。
看起来nuget pack任务只看项目文件本身,而从未运行我的SDK来更新项目版本。

现在的问题:

  • 是否有任何自定义属性以指示其版本
  • 或者我可以使用任何软件包自行构建nuget软件包并在其中插入项目参考

1 个答案:

答案 0 :(得分:2)

毕竟,我是通过在NuGet.Build.Tasks.Pack.targets中搜索来找到答案的。

当NuGet想要打包项目时,它将从引用的程序集中调用_GetProjectVersion以获取其版本,并且它取决于GetPackageVersionDependsOn

所以我唯一要做的就是在GetPackageVersionDependsOn的{​​{1}}中添加用于更新项目版本的任务:

Sdk.props
相关问题