我正在使用TFS 2015设置新的构建服务器,并且在配置代理后,当我尝试将构建排队时,出现此错误:
找不到具有以下功能的代理:msbuild,visualstudio,vstest
如何解决?
Answers:
在生成代理上安装Visual Studio,然后重新启动生成代理。重新启动构建代理将捕获添加的功能。
注意:首先,您可以在自己的服务器上使用社区版和TFS Express 2015(全部免费使用,最多五个用户)来完成所有这些操作-因此不必担心需要使用Visual Studio在线版本或为Visual Studio付费Studio专业版。
误解所提供的错误消息,然后尝试调试它很容易进行,这非常容易。
该错误消息的真正含义是:
“找不到具有以下功能的代理:msbuild,visualstudio和vstest。实际上,我实际上没有找到为所选构建队列配置的任何构建代理。”
因此,您是否认为这不适用于您,因为您刚刚创建了构建代理?
好吧,也许您做到了,但是这可能是发生了什么:
啊哈!因此,构建时会发生以下情况:
当我终于意识到发生了什么事时,我只是删除了我可爱的名称为pool +的队列,然后恢复为使用默认池。
下次,我将尝试在PowerShell配置期间更加关注此消息:
配置该代理针对哪个代理池?(默认池名称为“默认”)
您将必须在池下创建一个队列,但随后您的代理应开始工作。
如果您的代理商缺少某些功能的正品,则可以通过此处显示的“功能”选项卡检查您的代理商支持什么。当然msbuild, visualstudio and vstest
都在这里:-)
默认情况下,在VSO上使用新的构建系统时,它不会选择托管的构建选项,这就是我最终在Stack Overflow中的这篇文章的方式。如果您习惯使用VSO构建服务器,则需要执行以下操作:
通过转到“常规”选项卡并将“默认队列”更改为托管来创建托管构建。有关该限制及其在此处的工作方式的更多信息:https : //www.visualstudio.com/get-started/build/hosted-agent-pool
就我而言,在安装MSBuild(https://www.visualstudio.com/downloads/,搜索“ Visual Studio 2017的构建工具”)之后,我只需要将MSBuild的路径添加到PATH环境变量中即可。直到我这样做,代理才检测到MSBuild。
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
我不必安装完整的Visual Studio IDE。为这个问题选择的答案是完全错误的...
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin
。是的,不需要完整的Visual Studio。谢谢你的提示。
我正在使用Xcode构建从站来构建Xcode项目。
我最终在TFS 2015中遇到的错误消息是
“找不到具有以下功能的代理:xcode”
我注册了OS X本地构建slave。
在“注册代理”步骤中,我由构建代理命名:
>> Register Agent:
Enter agent pool (press enter for default) > My-Xcode-Agent-Pool
因此,我必须在构建设置中选择“ My-Xcode-Agent-Pool”作为默认队列。资料来源:Microsoft托管的代理
尽管先前的答案都对我没有帮助,但Simon_Weaver的帖子为我指明了正确的方向。
他提到vstest在他的列表中,但不在我的列表中。我通过添加一个名为“ vstest”的用户定义功能来修复它,该功能具有Visual Studio 2017下vstest.console.exe的完整路径。
每个Microsoft https://msdn.microsoft.com/zh-cn/ie/bb399135(v=vs.94)
您必须在构建代理上安装团队在其开发计算机上使用的Visual Studio版本。请参阅安装Visual Studio。您还必须安装开发计算机上安装的,构建应用程序所需的任何其他软件和组件。
TFS的一般解决方案:
解决构建服务器上大多数问题的常用方法是在构建服务器上安装Visual Studio和所有相关程序包。
使用VSTS时的替代解决方案
当你选择在哪里建,用“托管”,然后构建会工作。
可以在此处找到如何使其工作的指南:在Windows上为TFS 2015部署代理
检查代理部分,其中将包含有关功能的信息。
更新:
获得vsts(azuredevops)中的功能列表后,您可能需要在构建代理计算机上安装所需的软件。
PS请注意,如果需要,您可能必须许可您的软件。