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

Visual Studio 2019无法分析.NET Core应用代码覆盖率求助

解决VS2019 .NET Core代码覆盖率提示“Empty results generated”的经验

根据我处理这类问题的实际经验,结合你描述的情况(之前正常运行、测试仍通过但覆盖率失效、VS已升级到16.4.0),可以尝试以下几个排查和修复步骤:

  • 确认项目框架与引用匹配:检查你的测试项目是否正确引用了主应用项目,且两者的目标.NET Core框架版本完全一致。VS升级过程中偶尔会导致项目框架配置漂移,这会让覆盖率工具找不到要插桩的二进制文件。
  • 彻底清理重建解决方案:手动删除所有项目的bin和obj文件夹,然后在VS中执行“清理解决方案”再“重建解决方案”。旧的缓存二进制文件或符号文件经常会干扰覆盖率分析。
  • 确保符号文件完整可用:
    • 打开主应用和测试项目的属性,进入“生成”->“高级”设置,将“调试信息”设置为完整(不要选“仅pdb”或“无”)。
    • 检查项目输出目录(比如bin/Debug/netcoreapp3.1),确认存在对应的.pdb文件,且文件时间是最新的重建时间。
  • 检查覆盖率排除规则:点击VS顶部菜单的「测试」->「分析代码覆盖率设置」,在弹出的窗口中确保你的主应用程序集没有被添加到排除列表中。有时候误操作会把目标程序集排除,导致覆盖率无结果。
  • 验证测试运行配置:
    • 确保你是在调试模式下运行代码覆盖率分析(发布模式下默认不会生成完整符号,覆盖率工具无法工作)。
    • 检查测试运行的目标平台(x64/x86)是否和项目的平台目标一致,不匹配的平台也会导致找不到二进制文件。
  • 更新VS到稳定补丁版本或修复安装:VS2019 16.4.0是相对较早的版本,存在一些已知的覆盖率工具bug。建议你升级到VS2019的最新补丁版本(比如16.11.x,这是2019的最终支持版本),或者通过VS Installer执行“修复”操作,修复可能损坏的覆盖率工具组件。
  • 匹配.NET Core SDK版本:确认你项目使用的.NET Core SDK版本与VS2019 16.4.0兼容(该VS版本对应支持的SDK主要是3.1.x系列)。如果项目使用了更高版本的SDK,可能会出现兼容性问题,尝试切换到匹配的SDK版本再测试。

内容的提问来源于stack exchange,提问作者Ala Eddine JEBALI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:50:42