防止dotnet pack --no-build触发构建并导致NETSDK1085

时间:2019-10-13 18:15:05

标签: .net-core msbuild

我希望在运行以下两个命令时,后者不会触发新的构建:

  1. dotnet build solution.sln --configuration Release
  2. dotnet pack solution.sln --configuration Release --no-restore --no-build

但是,由于.NET Core SDK 3.0.100,第二个命令对我而言始终失败,并显示以下错误:

C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(133,5):
error NETSDK1085: The 'NoBuild' property was set to true but the 'Build' target was invoked.

我猜它使构建失败是一件好事,因为我确实明确要求不要构建它。但是,尽管有--no-build,为什么还要触发构建?

我实际上想做的是在将所有已编译的程序集打包到它们的NuGet包中之前,一次性对其进行代码签名(证书,而不是强命名):

  1. 针对所有目标框架构建解决方案的所有项目
  2. 一次性对所有程序集进行代码签名(因此我不必为每个程序集输入密码)
  3. 将解决方案的所有项目打包为NuGet软件包

这也是为什么pack不要触发新的构建并覆盖已签名的程序集的原因。

提出我的问题:

  • 什么可能首先触发构建?
  • 或者,如何首先找出触发构建的原因?

0 个答案:

没有答案