TeamCity集成旧项目需指定teamcity.dotnet.vstest.14.0路径的解决方案咨询
teamcity.dotnet.vstest.14.0路径的问题 我之前维护旧项目的TeamCity代理时也碰到过这个棘手的问题,VS2015 Test Agent确实在微软官方渠道很难找到了,不过还有几个可行的解决方案:
1. 使用Chocolatey包管理器安装VS2015 Test Agent
Chocolatey的包仓库里还保留着VS2015 Test Agent的安装包,你可以在新代理上打开管理员权限的PowerShell,运行以下命令:
choco install visualstudio2015testagent -y
安装完成后,TeamCity代理通常能自动检测到teamcity.dotnet.vstest.14.0的路径;如果没自动检测到,你可以手动在代理配置里设置teamcity.dotnet.vstest.14.0.path参数,指向C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe。
2. 从旧VS2015安装介质提取Test Agent安装文件
如果你手头还有VS2015的安装ISO镜像或者离线安装源,可以从中找到vs_testagent.exe安装程序,然后在新代理上用静默命令安装:
vs_testagent.exe /quiet /norestart
这种方式不需要安装完整的Visual Studio,仅安装测试代理组件,刚好满足你的需求。
3. 升级到兼容的新版VSTest工具(推荐长期方案)
如果你的项目代码兼容,建议把测试工具升级到VSTest 15.0及以上(对应VS2017+),可以安装Build Tools for Visual Studio(微软官网仍提供下载),里面包含VSTest工具组件。然后在TeamCity构建配置中把测试工具版本切换到teamcity.dotnet.vstest.15.0或更高版本,既解决了旧版本找不到的问题,也能获得更好的兼容性和维护性。
4. 从旧代理导出离线安装源到新代理
如果旧代理还能正常使用,你可以用VS安装器的导出功能生成Test Agent 2015的离线安装包:
- 在旧代理上打开管理员权限的命令提示符,导航到VS2015安装器路径(通常是
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Installer) - 运行导出命令:
vs_installer.exe export --installPath "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Test Agent" --destination "C:\VS2015TestAgentOffline"
- 把
C:\VS2015TestAgentOffline文件夹复制到新代理,然后运行安装命令:
vs_installer.exe install --offline "C:\VS2015TestAgentOffline" /quiet /norestart
安装完成后,记得重启TeamCity代理服务,让配置生效。
内容的提问来源于stack exchange,提问作者star213

