#visual-studio #azure-devops
#visual-studio #azure-devops
Вопрос:
У меня есть многопроектное решение, которое включает приложение WinForms, ASP.Net WebApi2, ASP.Проекты NETCore. В настоящее время я не могу получить все решение для сборки в самостоятельном агенте. Поэтому я создал новый конвейер и использовал задачу MSBuild для создания только проекта WebApi2. Я также изменяю версию Nuget, чтобы она соответствовала той, которая используется на моем локальном компьютере, то есть 5.3.1.
Это yaml для задачи сборки:
steps:
- task: MSBuild@1
displayName: 'Build project $/path/myproject.csproj'
inputs:
solution: '$/path/myproject.csproj'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArguments: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\"'
logProjectEvents: true
Сборка завершается успешно, но ничего не создается. Я получаю предупреждение:
C:Program Файлы (x86)Microsoft Visual Studio 2019 CommunityMSBuildCurrentBinMicrosoft.Common.CurrentVersion.targets(778,5): Предупреждение: свойство OutputPath не задано для проекта ‘AboServer.API.csproj’. Пожалуйста, убедитесь, что вы указали допустимую комбинацию конфигурации и платформы для этого проекта. Конфигурация = ‘release’ Платформа =’любой процессор’. Возможно, вы видите это сообщение, потому что пытаетесь создать проект без файла решения и указали конфигурацию или платформу, отличные от стандартных, которые не существуют для этого проекта.
Что мне нужно установить в конвейере для создания артефактов?
Ответ №1:
Можете ли вы попробовать с AnyCpu
any cpu
platform
параметром вместо for ?
Комментарии:
1. Это работает. Но я получаю сообщение об ошибке: ошибка MSB4044 при сборке с использованием конвейеров Azure. Должен ли я установить для параметра deployonbuild значение false?
2. Да. Давайте попробуем с этим, поскольку я предполагаю, что ваша цель здесь — создать пакет, а не развернуть его.
3. @Ivan-MarkDebono Можете ли вы рассмотреть вопрос о том, чтобы поддержать мой ответ, если это было полезно?