You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSTS Visual Studio Test任务发布后删除TRX文件,阻碍SonarQube集成

解决VSTS构建中Visual Studio Test删除.trx文件导致SonarQube无法获取测试结果的问题

这种接手遗留系统踩坑的经历太懂了!尤其是前任搞了一堆没文档的自定义操作,排查起来真的头大。针对你遇到的这个问题,给你几个实用的解决思路:

  • 调整Visual Studio Test任务的保留设置
    打开任务的「高级」选项面板,找找有没有类似「保留测试结果文件」或者「不删除测试运行文件」的复选框,直接勾选它就行。如果是用YAML配置流水线,记得在VisualStudioTest任务里加上deleteTestRunFiles: false这个参数,强制任务保留.trx文件。
    另外,也可以指定自定义的测试结果输出路径,比如把文件输出到$(Build.ArtifactStagingDirectory)/TestResults——这个目录是构建流水线默认不会自动清理的,能避开任务的默认删除逻辑。

  • 提前备份.trx文件
    就算测试任务还是会删除原文件,我们可以在它执行完之后立刻加一个「复制文件」任务,把.trx文件备份到安全位置。设置源文件为**/*.trx,目标文件夹设为$(Build.ArtifactStagingDirectory)/SonarQubeTestResults,之后SonarQube的分析任务就直接从这个备份路径读取文件就行。

  • 调整任务执行顺序
    检查一下流水线的任务顺序,会不会是SonarQube的分析步骤被放在了Visual Studio Test任务的清理阶段之后?把SonarQube的「Run Code Analysis」步骤紧挨着放在测试任务之后,确保它在任何可能清理文件的步骤之前执行。

  • 排查前任的自定义清理逻辑
    既然前任做过奇怪操作,大概率流水线里藏了自定义的清理脚本。仔细检查所有任务,包括那些被折叠的、用了PowerShell/Bash的步骤,看看有没有类似Remove-Item *.trx(PowerShell)或者rm *.trx(Bash)的命令,找到后要么注释掉,要么修改成只清理不需要的文件。

内容的提问来源于stack exchange,提问作者Zaxxon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:25:41