Решение состояло в том, чтобы изменить вышеприведенную линию 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 ...?

Ответы на вопрос(1)

Ваш ответ на вопрос