Не удалось найти агента со следующими возможностями: msbuild, visualstudio, vstest?
Я настраиваю новый сервер сборки, используя TFS 2015, и после того, как я настроил агент, когда я попытался поставить в очередь сборку, я получил эту ошибку:
Не удалось найти агента со следующими возможностями: msbuild, visualstudio, vstest
Как это можно решить?
13 ответов
Установите Visual Studio на агент сборки, затем перезапустите агент сборки. Перезапуск агента сборки захватит добавленные возможности.
Примечание. Прежде всего вы можете сделать все это с помощью Community Edition и TFS Express 2015 на своем собственном сервере (бесплатно до 5 пользователей) - так что не беспокойтесь о необходимости использовать онлайн-версию VS или платить за VS Professional.
Очень легко неверно истолковать предоставленное сообщение об ошибке и отправиться в погоню, пытаясь его отладить.
К сожалению, само сообщение просто плохо сформулировано, и это реальная проблема.
Вот что на самом деле означает это сообщение об ошибке:
"Не удалось найти агента со следующими возможностями: msbuild, visualstudio, vstest. На самом деле я не нашел ЛЮБЫХ агентов сборки, настроенных для выбранной очереди сборки".
То есть вы думаете, что это не относится к вам, потому что вы только что создали агент сборки?
Ну, может быть, вы сделали, но вот что, вероятно, произошло:
- Вы создали новый пул (ни по какой другой причине, кроме как вы думали, что должны)
- Затем вы создали очередь под этим пулом
- Вы запустили сценарий powershell для создания и агента и предположили, что он поместил его в только что созданный пул....
- Но это не так - он поместил его в пул "по умолчанию", который вы даже не используете...
Ага! Итак, вот что происходит при сборке:
- Вы выбираете очередь из выпадающего
- TFS пытается построить, ища пул, который соответствует этой очереди, и не находит никаких агентов там вообще, так что вы получаете глупое сообщение об ошибке "бесполезной красной шедевры".
Когда я наконец понял, что произошло, я просто удалил свою симпатичную группу pool + queue и просто вернулся к использованию пула по умолчанию.
В следующий раз я постараюсь уделить больше внимания этому сообщению во время настройки powershell:
Настроить этот агент для какого пула агентов? (имя пула по умолчанию 'default')
Вам нужно будет создать очередь под пулом, но тогда ваш агент должен начать работать.
Если у вас есть подлинник с определенной способностью, отсутствующей у вашего агента, вы можете проверить, что ваш агент поддерживает, с помощью вкладки "Возможности", показанной здесь. Конечно msbuild, visualstudio and vstest
все здесь:-)
В моем случае после установки msbuild ( https://www.visualstudio.com/downloads/, поиск "Build Tools for Visual Studio 2017") мне просто нужно было добавить путь к msbuild в переменную среды PATH. Агент не обнаружил msbuild, пока я не сделал это.
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin
Мне не нужно было устанавливать полную визуальную студию IDE, выбранный ответ на этот вопрос просто неверен..
По умолчанию, при использовании новой системы сборки в VSO, она не выбирает вариант встроенной сборки, как я и закончил в этом посте в Stack Overflow. Если вы привыкли использовать сервер сборки VSO, вот что вам нужно сделать:
Создайте размещенную сборку, перейдя на вкладку Общие и изменив свою очередь по умолчанию на размещенную. Подробнее об ограничениях этого и как это работает здесь: https://www.visualstudio.com/get-started/build/hosted-agent-pool
Добавьте их как определяемые пользователем возможности, например:
visualstudio C:\Program Files\Microsoft Visual Studio\2022\Community
vstest C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow
Сначала я установил агент на машину, на которой не была установлена Visual Studio. Однако после установки Visual Studio (а затем Visual Studio Build Tools), перезапуска/воссоздания моего агента, перезагрузки моей машины и т. д. я не смог заставить агент автоматически обнаруживать новые возможности, поэтому я сам добавил их в Azure DevOps как Пользовательские возможности .
Хотя ничего из вышеперечисленного не Simon_Weaver мне, пост Simon_Weaver указал мне верное направление. Он упомянул, что vstest был в его списке, но не в моем. Я исправил это, добавив пользовательскую возможность с именем "vstest" с полным путем к vstest.console.exe в Visual Studio 2017.
У меня была эта проблема, и оказалось, что мой процесс выпуска выбрал "неправильного" агента. Просто отредактируйте релиз и установите правильную очередь агента
На microsoft https://msdn.microsoft.com/en-us/ie/bb399135(v=vs.94)
Вы должны установить на агент сборки версию Visual Studio, которую ваша группа использует на своих машинах разработчиков. См. Установка Visual Studio. Вы также должны установить любое другое программное обеспечение и компоненты, которые установлены на ваших машинах разработчика и необходимы для создания вашего приложения.
Я использовал ведомое устройство Xcode для создания проекта XCode. И сообщение об ошибке, с которым я столкнулся в TFS 2015, было "Не найден агент со следующими возможностями: xcode"
Я зарегистрировал OSX на предпосылке сборки ведомого.
На шаге "Регистрация агента" я назвал агентом сборки:
>> 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
В итоге у меня получилось пойти туда, где я скачал агент и запустить
./config.cmd удалите затем./config.cmd, чтобы переустановить агент из командной строки в каталоге моего агента
В моем случае после установки MSBuild перезапустите все службы Azure (в службе Windows), и все заработало. Нет необходимости устанавливать полную Visual Studio
Вы должны установить соответствующую версию Visual Studio на компьютере сборки (где вы установили свой агент). Это добавит необходимые инструменты и возможности на сервер.
Visual Studio необходим, потому что он устанавливает все цели сборки, необходимые для сборки ваших проектов.
После установки необходимо перезапустить агент Windows Service, чтобы он обновил список возможностей.
Поскольку вы используете для сборки установку Visual Studio на сборочном компьютере, эта установка не считается дополнительной лицензией.
Общее решение для TFS:
Распространенным способом решения большинства проблем на сервере сборки является установка Visual Studio и всех зависимых пакетов на сервере сборки.
Альтернативное решение в случае использования VSTS
Когда вы выбираете, где собирать, используйте "Hosted", и тогда сборка будет работать.
Руководство о том, как заставить это работать, можно найти здесь: https://www.visualstudio.com/en-us/docs/build/actions/agents/v1-windows
Проверьте раздел агента, который будет содержать информацию о возможностях.