0

如果我在机器上安装 Visual Studio 2017 社区版并将其注册为构建代理,则代理注册的“功能”选项卡会显示以下环境变量:

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. 我只是想警告其他人,他们可能会遇到类似的问题。

4

2 回答 2

1

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

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

于 2017-08-09T05:37:32.607 回答
-2

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

于 2017-08-08T13:38:39.700 回答