it-swarm.com.ru

Не выполнено требование города команды: MSBuildTools12.0_x86_Path существует

У меня установлена ​​TeamCity на компьютере с Windows Server 2008 x32. Я запустил веб-установку .net 4.5. Я также скопировал файлы с моего компьютера x64 на основе этой статьи, чтобы мне не нужно было устанавливать vs2012 (хотя у меня действительно было изменение пути для удаления x86 на 32-разрядном компьютере):

MSBuild в решении TeamCity для Visual Studio 2012

Я не могу заставить локального агента запустить сборку, которую я настроил для msbuild в проекте vs2012 или vs2010. Я продолжаю получать:

Неудовлетворенные требования: существует MSBuildTools12.0_x86_Path 

Я перезагружал сервер несколько раз, а также перезапускал агент. Я попытался немного возиться с переменными пути, но не могу понять, что мне не хватает. Я также посмотрел в параметрах конфигурации, и могу видеть это:

MSBuildTools2.0_x86_Path C:\Windows\Microsoft.NET\Framework\v2.0.50727 

MSBuildTools3.5_x86_Path C:\Windows\Microsoft.NET\Framework\v3.5 

MSBuildTools4.0_x86_Path C:\Windows\Microsoft.NET\Framework\v4.0.30319 

Как мне получить 12.0 там?

114
archangel76

Мне нужно было установить MSBuild отдельно, тогда после перезапуска агента там была переменная.

(Из статьи MSDN) MSBuild теперь устанавливается как часть Visual Studio, а не как часть .NET Framework. Текущий номер версии MSBuild - 12.0. Если вы хотите установить MSBuild отдельно, загрузите установочный пакет с MSBuild Download.

Правка: ссылка ответ был сломан. Вот ссылка на Microsoft Build Tools 2015 (последняя версия до сегодняшнего дня): https://www.Microsoft.com/en-us/download/details.aspx?id=48159

147
jmw

Немного запоздалый ответ, но если ваш проект от VS 2012, и вы используете автоматически созданный шаг сборки файла решения, то редактирование этого шага и выбор «Microsoft Visual Studio 2012» из выпадающего меню «Visual Studio» устраняет эту проблему. как хорошо (и, ИМХО, правильнее).

32
Harper Shelby

У меня была та же проблема, и в конце оказалось, что мой определенный шаг сборки для запуска MSBuild был настроен неправильно. 

На моем этапе сборки MSBuild для параметра «MSBuild ToolsVersion» было установлено значение 12.0 (по умолчанию), что привело к ошибке «Неудовлетворенные требования: существует MSBuildTools12.0_x86_Path» в моей системе. Поскольку мне не нужен новый MSBuild 12.0 для запуска сборки, я изменил этот параметр на 4.0 на этапе сборки. Эта версия MSBuild правильно установлена ​​в моей системе. Это решило проблему для меня.

17
Andreas Schuermann

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

  • Я получил вышеупомянутую ошибку при новой установке TeamCity 8.1.4 на новый Windows Server 2012 R2
  • Следовал инструкциям в этой теме, и ошибка все еще появилась, несмотря на многочисленные перезапуски и переустановки.
  • Я заметил, что информация об агенте, такая как ОС и процессор, не отображается на странице сведений об агенте. Это указывало на то, что проблема не в предварительных условиях .NET и MSBUILD, а в том, что агентская служба не может прочитать информацию о компьютере.
  • Агент работал под учетной записью пользователя (со всеми необходимыми разрешениями согласно документации TeamCity ). Но я подумал, что увижу, что произойдет, если я зайду в Инструменты администратора> Службы и изменил Вход в систему с локальной системной учетной записью.
  • Перезапустил службу агента.
  • Огромный успех.
10
Robert Hardy

MSBuild теперь является частью Visual Studio. Если вам нужно установить инструменты сборки на вашем агенте, но вы не хотите устанавливать VS, вам нужно будет установить новые инструменты сборки Microsoft, которые доступны по адресу http://www.Microsoft.com/en-us/ скачать/details.aspx? id = 40760 .

8
Steve Bering

В моем случае - помогла только отдельная установка MSBuild для VS2013. (здесь ссылка - https://www.Microsoft.com/en-us/download/confirmation.aspx?id=40760 ) Он создал эту папку C:\Program Files (x86)\MSBuild\12.0 При установке инструментов MSBuild для VS2015 создал C:\Program Files (x86)\MSBuild\14.0 эту папку, и ТС не хотел его использовать. 

4
miotis

У меня была эта проблема на моем дополнительном агенте сборки. 

Я скопировал папку MSBuild с основного компьютера агента сборки на дополнительный компьютер агента сборки (как я делал это с некоторыми файлами Visual Studio, как описано здесь: MSBuild в TeamCity решения Visual Studio 2012 ), а не установил MSBuild.

Однако, похоже, что службы агента TeamCity проверяют реестр на наличие записей MSBuild при запуске (похоже, он этого не делает с файлами Visual Studio, о которых я упоминал выше). Поскольку я просто скопировал файлы с другого компьютера, записи MSBuild для версии 12.0 не существовало, поэтому TeamCity не обнаружил файлы MSBuild, даже если они присутствовали в папке Program Files (x86)\MSBuild.

Когда я установил Microsoft Build Tools по ссылке выше http://www.Microsoft.com/en-us/download/details.aspx?id=40760 TeamCity обнаружил запись v. 12.0 в реестре и Агент смог построить те же проекты, что и основной агент.

Не забудьте перезапустить службу агента TeamCity после установки MS Build Tools.

2

В моем случае у меня есть TeamCity Professional 2018.1 на Windows 2016 Server . Я скачал Инструменты сборки для Visual Studio 2017 отсюда: https://visualstudio.Microsoft.com/downloads/ и выбрал все варианты инструментов для сборки. После установки я добавил MSBuild в глобальную переменную среды PATH. C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin в моем случае.

1
DerSkythe

В моем случае это была новая машина без установленной визуальной студии, и я только что восстановил Teamcity с другой машины. Итак, я установил visual studio 2013 и решил проблему с агентом teamcity.

0
Shantu