Я пытаюсь создать конвейер DevOps Azure, который создает несколько двоичных файлов C # с использованием нескольких конфигураций.
Похоже, рекомендуемый способ сделать это - использовать несколько «заданий», а не несколько шагов. В частности, я использую матрицу, чтобы указать, Debug | AnyCPU, Release | AnyCPU, Custom | AnyCPU.
Это заставляет все нормально работать. Проблема в том, что каждое «Задание» очищает каталог bin, поэтому в конце процесса в моем каталоге bin только одна сборка.
Мне нужны все библиотеки там. Цель состоит в том, чтобы создать пакет NuGet, содержащий все сборки. Я рассмотрел вопрос об использовании каталога StageArtifacts Azure DevOps. Я просто хотел бы попытаться избежать слишком большого количества различий между сборкой на компьютере разработчика и сборкой на машине сборки.
Я указываю отдельные пути вывода для каждой конфигурации. На моем компьютере разработчика я могу собрать все, что угодно, и все отображается в каталоге bin.
strategy:
matrix:
debug-job:
buildConfiguration: 'Debug'
release-job:
buildConfiguration: 'Release'
custom-job:
buildConfiguration: 'Custom'
<OutputPath Condition=" '$(OutputPath)' == '' ">bin\$(Configuration)\$(TargetFrameworkVersion)\</OutputPath>