Конвейер CI работает хорошо, если я удаляю опцию nobuild: true из задачи DotNetCoreCLI@2 для упаковки проекта (ie для создания пакета NuGet), но я Я не могу понять, что особенного, кроме не построения проекта, дает опция nobuild. Мне не нужно снова собирать проект, поскольку предыдущая задача уже собрала проект и заблокировала сборочную версию сгенерированных библиотек DLL. Я хочу использовать одну и ту же сборку для создания пакета NuGet и для того же, мне нужно передать опцию NoBuild, но при этом то же самое прерывает конвейер.
Конвейер выдает ошибку, что библиотеки DLL для упаковки отсутствует в указанном месте, но я попытался посмотреть на это место и смог найти библиотеки DLL. Одна вещь, которая меня смущает, заключается в том, что хотя я дал nobuild значение true, но все же задачи отображаются как «Построение проекта».
- task: DotNetCoreCLI@2
displayName: ".NET pack"
inputs:
command: pack
packagesToPack: ${{ parameters.packagesToPack }}
nobuild: true
versioningScheme: byEnvVar
versionEnvVar: CI_Version
packDirectory: $(build.artifactStagingDirectory)\${{ parameters.packTo }}
verbosityPack: 'Normal'
Также важно отметить, что то же самое (nobuild: true) работает на Windows Агент, но не работает на Агент Ubuntu.
PS: Это может быть случай, когда windows обновил агент и вызвал проблему. Я искал проблему и обнаружил, что нужно заблокировать. net SDK в конвейере сборки