Запретить `dotnet pack --no-build` запускать сборку и вызывать NETSDK1085 - PullRequest
2 голосов
/ 13 октября 2019

Я ожидаю, что при выполнении следующих двух команд последняя не будет запускать новую сборку:

  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 не запускал новую сборку и не перезаписывал подписанную подпись. сборки.

Отсюда мой вопрос:

  • Что могло бы вызвать сборку с самого начала?
  • Или, как узнать, что вызывает сборку? на первом месте?
...