Visual Studio 私人构建代理无法识别 2015 Express

Visual Studio 2015 Express not recognised by private build agent

如果我在一台机器上安装 Visual Studio 2017 Community Edition 并将其注册为构建代理,那么针对代理注册的 'capabilities' 选项卡会显示以下环境变量:

VisualStudio            C:\Program Files (x86)\Microsoft Visual Studio17\Community\
VisualStudio_15.0       C:\Program Files (x86)\Microsoft Visual Studio17\Community\
VisualStudio_IDE        C:\Program Files (x86)\Microsoft Visual Studio17\Community\Common7\IDE\
VisualStudio_IDE_15.0   C:\Program Files (x86)\Microsoft Visual Studio17\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。我只是想警告其他人,他们可能会遇到类似的问题。

在构建代理上安装新软件后,必须重新启动代理才能发现新功能。

[agent folder]\bin\powershell文件夹中有一些PowerShell文件,用于添加功能,您可以查看它们的源代码。

根据 Add-VisualStudioCapabilities.ps1 中的代码,它检查 HKEY_LOCAL_MACHINE\SOFTWARE\[WOW6432Node]\Microsoft\VisualStudio\[14.0]\ShellFolder and InstallDir。所以你可以检查注册表中的键和值。