在VS 2012抛出异常时运行代码覆盖率分析

时间:2013-02-01 08:03:06

标签: unit-testing visual-studio-2012 code-coverage

当我尝试在VS 2012中运行代码覆盖时,我突然开始遇到异常:

抛出异常:代码覆盖率分析引擎抛出异常: 覆盖文件 " ........覆盖"无效或损坏

任何解决方案/解决方法都会有所帮助。

2 个答案:

答案 0 :(得分:1)

我在VS2010中看到过这个错误,至少可以说是令人沮丧的。该错误可能与一个或多个未正确“检测”的组件有关,从内存中我记得可以通过在测试设置中取消选择“仪器组件”来解决。

关于“就地检测”,当打开代码覆盖率时,Visual Studio需要花一些时间在TestRun之前为程序集重写IL,以便它可以记录IL的哪些部分被执行。 “就地调整”会创建一个带有“.instr”扩展名的程序集备份,在打开探查器的情况下运行测试,然后在测试完成后用原始程序集替换已检测的程序集。当我看到这个错误时,似乎原始文件无法恢复(可能已锁定),并且我的构建输出文件夹中有一些残余的“.instr”程序集。我的理论是IDE尝试将覆盖数据与原始程序集关联,但由于这种不匹配而失败。

AFAIK,在本地查看报道时关闭仪器没有明显的差异。

答案 1 :(得分:0)

我在VS 2012 Premium上遇到此错误。我通过应用VS Update 1来修复它,从那时起就没有看到它。