Visual Studio 2015 Express не распознается частным агентом сборки
Если я установлю выпуск Visual Studio 2017 Community на компьютер и зарегистрирую его в качестве агента сборки, то на вкладке "Возможности" напротив регистрации агента отобразятся следующие переменные среды:
VisualStudio C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
VisualStudio_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
VisualStudio_IDE C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\
VisualStudio_IDE_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\
Однако, если я устанавливаю Visual Studio 2015 Express и регистрирую его как агент сборки, я не получаю эквивалентные переменные. Почему это?
Обновить
@starain-MSFT ускользает от проблемы; VS2015 Express не устанавливает все необходимые ключи реестра для сценария конфигурации агента, чтобы продолжить установку. Регистрация указанных выше переменных среды вручную обманывает пул агентов и распознает возможности msbuild, visualstudio
так что теперь я могу с радостью запускать сборки на этом агенте.
Однако это не обманывает задачу сборки Visual Studio. Я получаю следующее предупреждение журнала о выполнении;
##[warning]Visual Studio was not found. Try installing a supported version of Visual Studio. See the task definition for a list of supported versions.
Затем он возвращается к MSBuild для выполнения рабочего процесса. К счастью, в моем случае это успешно завершается, потому что я строю .sln
, Я просто хочу предупредить других, что у них могут возникнуть подобные проблемы.
2 ответа
Есть несколько файлов PowerShell в [agent folder]\bin\powershell
В папке, в которой добавлены возможности, вы можете проверить их исходный код.
На основании кода в Add-VisualStudioCapabilities.ps1
проверяет HKEY_LOCAL_MACHINE\SOFTWARE\[WOW6432Node]\Microsoft\VisualStudio\[14.0]\ShellFolder and InstallDir
, Таким образом, вы можете проверить ключи и значения в реестре.
После установки нового программного обеспечения на агенте сборки, агент должен быть перезапущен, прежде чем будут обнаружены новые возможности.