VSTS msbuild: Как использовать параметры вместо профиля? Ошибка: не удалось найти __. Dll

У меня есть простое веб-приложение mvc "Hello World", которое я пытаюсь встроить в VSTS. Мои шаги:

  1. Получить источники
  2. Запустите msbuild для одного проекта
  3. Опубликовать артефакт (опубликовать каталог)

Все отлично работает, когда я использую профиль для msbuild, но я бы просто хотел вместо этого передать команды параметров. Когда я делаю это, я получаю следующую ошибку:

Ошибка: Ошибка копирования файла bin\WebApp01.dll в obj\Release\Package\PackageTmp\bin\WebApp01.dll. Не удалось найти файл "bin\WebApp01.dll".

Какую ошибку я делаю с параметрами msbuild? Как правильно продублировать простой профиль файловой системы?

Parameters (error'ing):

/p:DeployOnBuild=true /p:Configuration="Release" /p:Platform="Any CPU" /t:WebPublish /p:WebPublishMethod=FileSystem /p:publishUrl=PublishToOctopus

Profile (works):

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>PublishToOctopus</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

1 ответ

Решение

Когда используешь /p:DeployOnBuild=true, вы можете использовать нормальный Build цель. Вы прямо звонили WebPublish (/t:WebPublish), который ожидает, что сборка уже произошла, но поскольку этого не происходит, файл отсутствует в ожидаемом месте.

Другие вопросы по тегам