Решение состояло в том, чтобы изменить вышеприведенную линию Powershell, чтобы:
ановил инструменты MSBuild (15.4.0) для Visual Studio 2017 на сервере сборки. Для этого я использовал ссылку «Инструменты сборки для Visual Studio 2017» изЗагрузки Visual Studio
Путь к MSBuild.exe:
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin
Я добавил этот путь к переменной среды «путь».
У меня есть сценарий PowerShell со следующим в качестве тела для задачи сборки:
msbuild '.. \ MyApplication.sln' / t: сборка /tv:15.0 / p: GenerateBuildInfoConfigFile = false / p: конфигурация = выпуск / p: RunCodeAnalysis = True /p:VisualStudioVersion=15.0
Но когда это выполняется (все обрабатывается TeamCity), я нахожу в журнале следующее:
MSBUILD: ошибка MSB1040: неверная версия ToolsVersion. Версия инструмента "15.0" не распознана. Доступные версии инструментов: «2.0», «3.5», «4.0».
документация предлагает 15.0 должно быть правильным.
РЕДАКТИРОВАТЬ Из документации на 2017 годЧто нового в MSBuild 15 Говорится:
MSBuildToolsVersion для этой версии инструментов составляет 15.0. Версия сборки 15.1.0.0.
Тем не менее, документация 2017 годаСправочник по командной строке MSBuild состояния:
Для MSBuild4.5можно указать следующие значения для версии: 2.0, 3.5 и 4.0. Если вы укажете 4.0, свойство сборки VisualStudioVersion указывает, какой поднабор инструментов использовать. Для получения дополнительной информации см. Раздел «Наборы вспомогательных инструментов» в наборе инструментов (ToolsVersion).
Так что меня немного смущает номенклатура: MSBuild 15 или MSBuild 4.5 ...?