Re[3]: TeamCity 2017, сборка с использованием Full VS
От: dtretyakov  
Дата: 05.07.17 16:04
Оценка: 48 (1)
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, dtretyakov, Вы писали:


D>>Чтобы при этом получить тот же самый environment что и в Developer Command Prompt нужно перед MSBuild шагом добавить Command Line шаг в котором сначала вызывается нужный bat файл, задающий environment, а затем выполнить его capture для последующих шагов:


D>>"%VS2017_Path%\..\Tools\VsDevCmd.bat"

D>>%env.TEAMCITY_CAPTURE_ENV%

S>Спасиб! Помогло, но не до конца. В логе сборки:

S>
S>Starting: E:\BuildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe
S> /workdir:E:\BuildAgent\work\f0fe40554766ab39 
S> /msbuildPath:C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin\MSBuild.exe
S>

S>msbuildPath должен на msbuild из состава студии указывать. Что-то типа
S>
S>C:\Program Files (x86)\Microsoft Visual Studio\2017\%edition%\MSBuild\15.0\Bin\MSBuild.exe
S>


На TeamCity агенте при старте выбирается та версия MSBuild, которая имеет наибольший номер сборки в рамках major номера версии (15.хх.хх). Если на этой машине отдельно установлены Build Tools от VS 2017, то они также могут задетектиться на этом агенте. Это можно проверить на вкладке агента в Agent Parameters -> Configuration Parameters как значение параметра MSBuildTools15.0_x86_Path.

Если это так и на этой машине установлены side by side Visual Studio 2017 и Build Tools 2017, то как workaround можно:

* Удалить Build Tools 2017 и перезапустить TeamCity агента
* Использовать Visual Studio (sln) build step
* Использовать Command line build step, в котором выполнить "%VS2017_Path%\..\..\MSBuild\15.0\bin\MSBuild.exe" ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.