Как мне прекратить tnet упаковать сборку проекта в azure devops (--no-build не дает эффекта) - PullRequest
0 голосов
/ 07 апреля 2020

У меня проблемы с созданием пакета nuget из проекта в azure devops, проект. net стандарт 2.0, нацеленный на netstandard2.0 и netcoreapp2.0.

У меня есть отдельная сборка и конвейеры освобождения.

конвейер сборки собирает и тестирует проект.

конвейер выпуска берет выходные данные из сборки и запускает на ней dotnet pack. Однако он пытается выполнить сборку одновременно (что не удается).

Документация, которую я видел, предполагает, что добавление --no-build при вызове пакета nuget должно привести к использованию существующих библиотек из каталога bin.

Я просматривал журналы, и это команда, которую выполнял devops (я удалил некоторую идентифицирующую информацию): pack E:\Agents\build1\r82\a\...\MyProject.csproj --output E:\Agents\build1\r82\a\...\packages --no-build /p:Configuration=Release --verbosity Detailed

Выполняется сборка, которая затем завершается неудачно с сообщением о том, что некоторые упомянутые пакеты nuget не найдены.

Я мог бы просто вставить туда dotnet restore и позволить ему выполнить сборку, но я не понимаю, зачем нам это нужно, учитывая, что конвейер сборки уже создал dll.

Обратите внимание, у меня есть уже видели это , но в этом случае проблема заключалась в том, что сборка выводилась в нестандартный каталог, а здесь это не так.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 08 апреля 2020

Кажется, аргумент --no-build не работает в dotnet pack из DotNetCoreCLI@2 задачи. Пожалуйста, попробуйте использовать dotnet custom в качестве обходного пути:

steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet custom'
  inputs:
    command: custom
    projects: '**\*.csproj'
    custom: pack
    arguments: '--no-build'
...