Публикация .csproj через TFS Visual Studio, задача сборки - PullRequest
0 голосов
/ 21 ноября 2018

Для программного обеспечения на работе у нас есть несколько проектов в решении.На большей части проекта мы можем просто построить решение, а затем опубликовать артефакты нужного нам веб-проекта.API и Auth проекты немного отличаются.В настоящее время процесс развертывания выполняется вручную и для проектов API (STARS.API.csproj) и Auth (STARS.Auth.csproj), когда вы перейдете в Visual Studio 2017 и щелкните правой кнопкой мыши проект и выберите команду «Опубликовать», выберите профиль и затем опубликуйте.Как только это будет сделано, мы берем публикацию вывода и удаляем эти файлы на наш сервер.

Мы пытаемся перейти к автоматизированному процессу через TFS, и я использую задачу Visual Studio Build в определении сборки.Однако, когда я пытаюсь запустить это через TFS, появляется сообщение об ошибке, что профиль публикации не может быть найден:

Проверка параметров PublishProfile (TFSProfile.pubxml).C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ Web \ Microsoft.Web.Publishing.targets (4368,5): Ошибка: установлено значение для PublishProfileв 'TFSProfile.pubxml', ожидается, что файл будет найден в 'C: \ agent_work \ 4 \ s \ STARS \ Source-dev \ STARS.Web \ Properties \ PublishProfiles \ TFSProfile.pubxml', но его не удалось найти.

Ищет профиль публикации в другой папке проекта.

Задача сборки Visual Studio:

enter image description here

Я чувствую, что могу подойти к этому совершенно неправильно.Я просто пытаюсь повторить процесс публикации проекта через Visual Studio 2017 вручную.

Пожалуйста, дайте мне знать, если вам требуется дополнительная информация.

1 Ответ

0 голосов
/ 21 ноября 2018

Я предлагаю вам начать использовать предопределенные переменные .$ (Build.SourcesDirectory) будет отображаться в C: \ agent_work \ 4 \ s, и оттуда вы можете создать полный путь к TFSProfile.pubxml, где бы он ни находился в вашем исходном дереве.Используйте этот полный путь в свойстве MB Build Arguments, PublishProfile, например,

/p:PublishProfile=$(Build.SourcesDirectory)\STARS\Source-dev\STARS-API\TFSProfile.pubxml

Другая проблема, с которой вы можете столкнуться, заключается в том, что в поле «Решение» вы указываете не решение ( .sln), а проект.( .csproj).Я подозреваю, что MSBuild выбирает решение, связанное с этим csproj, и создает полное решение, поэтому оно ищет профиль публикации в STARS.Web.Вы создали профиль публикации для STARS.API?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...