2017-01-20 15 views
2

У меня есть определение Visual Studio Online, которое кажется неправильным, но я не уверен, что я что-то неправильно сконфигурировал.Visual Studio Online build step PackageLocation игнорируется

Существует шаг сборки, который настраивается следующим образом:

Тип: Visual Studio Построить

Решение: ** \ mysolutionfile.sln

MSBuild Аргументы:/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.stagingDirectory)"

Сборка успешно завершена, а журнал сборки ы команда MSBuild выполняется следующим образом:

"C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe" "C:\a\1\s\Code\mysolutionfile.sln" /nologo /nr:false /dl:CentralLogger,(more removed for brevity) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="C:\a\1\a" /p:platform="any cpu" /p:configuration="release" /p:VisualStudioVersion="14.0" /p:_MSDeployUserAgent="VSTS_6efdabeb-1c75-43a7-96b2-f40e19a68a35_build_14_122"

Как вы можете видеть, расположение пакета установлен правильно: /p:PackageLocation="C:\a\1\a"

Однако, позже в журнале сборки, шаг пакет показывает эту запись в журнале :

2017-01-20T05:07:30.9771422Z Executing command ["C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:manifest='C:\Users\buildguest\AppData\Local\Temp\PublishTemp\obj\mysolution55\SourceManifest.xml' -dest:package='C:\a\1\s\Code\mysolutionfile\bin\Release\MSDeployPackage\mysolutionfile.zip' -verb:sync -replace:match='C:\\Users\\buildguest\\AppData\\Local\\Temp\\PublishTemp\\mysolutionfile55\\',replace='website\' -retryAttempts:20 -disablerule:BackupRule]

Как вы можете видеть, в этом случае пакет направляется -dest:package='C:\a\1\s\Code\mysolutionfile\bin\Release\MSDeployPackage\mysolutionfile.zip' - и это действительно где почтовый фи Ле заканчивается.

Насколько я могу судить, это выглядит неправильно. Я хочу, чтобы пакетные файлы приложений и файлы оказались в промежуточном каталоге, но msbuild меня где-то переопределяет и помещает в папку проверки исходного кода.

В случае, если это релевантно, решение содержит два проекта: веб-приложение ASP.NET Core, предназначенное для полной .NET Framework; и портативную библиотеку классов.

Я делаю что-то неправильно в конфигурации сборки?

ответ

1

Я воспроизвел вашу проблему в своей среде TFS и получил тот же результат. Пакет в папке «C: \ a \ 1 \ s» не «C: \ a \ 1 \ a».

В качестве обходного пути вы можете добавить Скопируйте файлы шаг, чтобы скопировать пакет с исходная папка в путь $ (build.stagingDirectory).

+0

Спасибо - обходное решение работает. Однако похоже ли это, что это ошибка? Если да, где я должен сообщить об этом? Я не уверен, что проблема связана с MSBuild или способ VSO запускает сборку. – John

+0

@John Ссылка обратной связи: https://connect.microsoft.com/VisualStudio/feedback/CreateFeedback.aspx. Вы можете сообщить об этом. –

+0

Спасибо. MS Connect оттолкнула меня на другой сайт чтобы сообщить об ошибке. Если кто-то заинтересован в следующем, он будет отправлен на https://developercommunity.visualstudio.com/content/pr oblem/12933/visual-studio-online-build-step-packagelocation-be.html – John

Смежные вопросы