Артефакты не созданы, даже если сборка выполнена успешно

#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 Можете ли вы рассмотреть вопрос о том, чтобы поддержать мой ответ, если это было полезно?