当操作来自 NuGet 包时,如何在多目标项目上操作 Packageversion

问题描述

我有一个带有目标文件的 NuGet 包,它根据当前上下文操作 PackageVersion(当分支是 master 时,它会创建一个预览)。

这在普通项目上运行良好,但当我在多目标项目中使用它时,它不起作用。

我该如何纠正?

我附上了一个示例项目。 https://1drv.ms/u/s!At1IZ7t_aXW-iNRchOhliGP8dunGHg?e=11dW4F 重现问题:

  1. 解压所有文件
  2. 您需要一个本地 NuGet 提要
  3. 在 BuildConfig/publish.bat 中输入本地 NuGet Feed名称
  4. 在 BuildConfig调用 publish.bat
  5. 在消费者中运行“dotnet pack”

这会创建一个版本为 1.0.0 的消费者包。这应该是 1.0.0-xdev。

当您更改 Consumer.csproj 以便使用 TargetFramework 时,会创建正确的版本

我已经尝试在目标之外修改版本,但是当在 Directory.Build.Targets 文件中指定版本号时,这会导致问题

我尝试了不同的 BeforeTargets,但没有任何效果

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)