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

У меня есть установка TeamCity на Windows Server x32 Server2008. Я запустил веб-установку .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?

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

В моем случае - помогла только отдельная установка 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, и TC не хотел его использовать.

Ответ 7

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

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

Похоже, однако, что агент агента TeamCity проверяет реестр для записей MSBuild при его запуске (он, похоже, не делает этого с файлами Visual Studio, о которых я упоминал выше). Поскольку я просто скопировал файлы с другого ПК, не существовала запись MSBuild для v. 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.

Ответ 8

Кажется, я решил эту проблему, зайдя в реестр и удалив все записи для MSBuild, которые не были для версии 12, а затем перезапустил агент.

Для этого перейдите в меню "Пуск" > "Выполнить" и введите Regedit

Затем перейдите к клавише:

HKEY_LOCAL_MACHINE > ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ > Microsoft > MSBuild

Удалите все версии, кроме 12.0.

Перейдите на следующий уровень в ToolsVersions и удалите там версии, отличные от 12.0.

Ответ 9

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