我有一台安装了 Team Foundation Server 2015(版本 15.112.26307.0)的 Windows Server 2012 R2 服务器。服务器将托管代理作为一项服务运行,用于恢复 NuGet 包、构建和测试项目。对于项目的每个 Check-In,都会执行一次组装,在晚上执行测试,结果可以在早上找到。
我将按顺序开始:
- 以前是 Team Foundation Server 2013,现在已经更新到 2015。
- 托管代理也已针对新的 TFS (vsts-agent-win7-x64-2.112.0) 进行了更新。
- NuGet.exe 的版本已从 2.8 更新到 3.5,以便可以恢复 NuGet 包(新的 Hosted Agent 需要)。
在 Hosted Agent 更新之前,夜间测试有效,在更新之后,恢复 NuGet 包并且测试失败。恢复 NuGet 包已通过更新 NuGet.exe 的版本解决,但测试抛出运行时错误,记录:
准备任务执行处理程序。执行 powershell 脚本:
C:\agent_work_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\1.0.84\VSTest.ps1
[warning]'##vso[task.logissue type=error;code=' contains logging command keyword ' ##vso',但这不是合法的命令。请参考文档以修复任何潜在的语法错误
( http://go.microsoft.com/fwlink/?LinkId=817296 ) vso[task.logissue type=error;code= 无法确定 vstest.console.exe 的位置; TaskName=VSTest]
[警告] 找不到要发布的结果。
[错误]System.Management.Automation.CmdletInvocationException:无法确定 vstest.console.exe 的位置 ---> System.IO.FileNotFoundException:无法确定 vstest.console.exe 的位置
[错误]LegacyVSTSPowerShellHost.exe 已完成返回代码:-1。
VSTest.ps1 脚本包含非手动编辑的标准命令,也就是说,之前一切正常,但在新代理中出现了问题。根据Task Logging Commands log 中的建议链接,不清楚需要做什么。谁遇到过类似的问题,如何解决?