Недопустимое требование города: 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 года и решил проблему с агентством.