Не удалось найти агента со следующими возможностями: msbuild, visualstudio, vstest?

я настраиваю новый сервер сборки с помощью TFS 2015, и после того, как я настроил агент, когда я попытался поставить сборку в очередь, я получил эту ошибку:

агент не найден со следующими возможностями: msbuild, visualstudio, vstest

Как это можно разрешить?

10 ответов


установите Visual Studio на свой агент сборки и перезапустите агент сборки. Перезапуск агента сборки захватит добавленные возможности.


Примечание: прежде всего, вы можете сделать все это с помощью community edition и TFS Express 2015 на своем собственном сервере (бесплатно до 5 пользователей) - поэтому не беспокойтесь о необходимости использовать онлайн-версию VS или платить за VS Professional.


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

к сожалению, само сообщение просто плохо сформулировано, и это реально проблема.

вот что это сообщение об ошибке действительно означает :

" агент не найден со следующими возможностями: msbuild, visualstudio, vstest. На самом деле я не нашел агентов сборки, настроенных для выбранной очереди сборки."

Итак, вы думаете, что это не относится к вам, потому что вы только что создали агент сборки?

Ну, может быть, вы сделали но вот что, вероятно, произошло :

  • вы создали новый пул (без каких-либо причин, кроме как вы просто думали, что вы должны)
  • затем вы создали очередь под этим пулом
  • вы запустили сценарий powershell для создания и агента и вы предположили, что он положил его в пул, который вы только что создали....
  • но это не-он поместил его в пул "по умолчанию", который вы даже не используете...

Аха! Вот что происходит, когда вы строите :

  • вы выбираете очередь из выпадающего списка
  • TFS пытается построить, ища пул, соответствующий этой очереди, и он не находит там никаких агентов, поэтому вы получаете глупое бесполезное сообщение об ошибке red-herring.

когда я наконец понял, что произошло, я просто удалил свою симпатичную именованную очередь pool + и просто вернулся к использованию пула по умолчанию.

в следующий раз я постараюсь обратить больше внимания на это сообщение во время конфигурация powershell:

настроить этот агент против агента бассейн? (имя пула по умолчанию 'default')

вам нужно будет создать очередь под пулом, но затем ваш агент должен начать работать.

Если у вас есть подлинник с определенной возможностью, отсутствующей у вашего агента, вы можете проверить, что поддерживает ваш агент на вкладке "возможности", показанной здесь. Конечно!--0--> все здесь :-)

enter image description here


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

создайте размещенную сборку, Перейдя на вкладку Общие и изменив очередь по умолчанию на размещенную. Подробнее об ограничениях этого и как это работает здесь:https://www.visualstudio.com/get-started/build/hosted-agent-pool


я использовал ведомое устройство сборки Xcode для создания проекта xcode. И сообщение об ошибке, которое я получил в TFS 2015, было "агент не может быть найден со следующими возможностями: xcode"

Я зарегистрировал OSX на предпосылке построить slave.

на шаге "Register Agent" я назвал по build agent:

>> Register Agent:

Enter agent pool (press enter for default) > My-Xcode-Agent-Pool

Итак, мне пришлось выбрать" My-Xcode-Agent-Pool " в качестве очереди по умолчанию в настройках сборки. Источник: https://www.visualstudio.com/docs/build/agents/hosted-pool


хотя ни один из вышеперечисленных не работал для меня, сообщение от Simon_Weaver указал мне в правильном направлении. Он упомянул, что vstest был в его списке, но его не было в моем. Я исправил это, добавив пользовательскую возможность с именем "vstest" с полным путем к vstest.приставка.exe в Visual Studio 2017.


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

enter image description here


необходимо установить соответствующую версию Visual Studio на компьютере сборки (где установлен агент). Это добавит необходимые инструменты и возможности на сервер.

Visual Studio требуется, потому что is устанавливает все цели сборки, необходимые для создания ваших проектов.

после установки необходимо перезапустить службу агента Windows, чтобы обновить список возможностей.

поскольку вы используете Visual Studio установка на машине сборки для сборки эта установка не считается дополнительной лицензией.


в моем случае после установки msbuild (https://www.visualstudio.com/downloads/, Поиск "Build Tools for Visual Studio 2017"), мне просто нужно было добавить путь к msbuild в переменную среды PATH. Агент не обнаружил msbuild, пока я этого не сделал.

C:\Program файлы (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

Мне не нужно было устанавливать полную среду IDE visual studio, выбранный ответ на этот вопрос просто совершенно неправильно..


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

./конфигурация.cmd удалить ./конфигурация.cmd для переустановки агента из командной строки внутри каталога моего агента

скачать агент


общее решение для TFS:

общим способом решения большинства проблем на сервере сборки является установка Visual Studio и всех зависимых пакетов на сервере сборки.

альтернативное решение в случае использования VSTS

когда вы выбираете, где строить, используйте " Hosted" и тогда сборка будет работать.

руководство, как заставить его работать, можно найти здесь: https://www.visualstudio.com/en-us/docs/build/actions/agents/v1-windows

проверьте раздел агента, который будет содержать информацию о возможностях.