Unit testing 在VS 2012引发异常时运行代码覆盖率分析

Unit testing 在VS 2012引发异常时运行代码覆盖率分析,unit-testing,visual-studio-2012,code-coverage,Unit Testing,Visual Studio 2012,Code Coverage,当我试图在VS 2012中运行代码覆盖率时,突然出现以下异常: 引发异常:代码覆盖率分析引擎引发异常: 覆盖率文件 “……保险范围”无效或损坏 任何解决方案/解决方法都会有帮助。我在VS2010中看到过这个错误,至少可以说是令人沮丧的。该错误可能与一个或多个未正确“插入仪器”的组件有关,我记得从内存中可以通过在测试设置中取消选择“仪器组件就位”来解决 关于“就地插装”,当打开代码覆盖率时,VisualStudio会在测试运行之前花费一些时间来重写程序集的IL,以便它可以记录执行IL的哪些部分。“

当我试图在VS 2012中运行代码覆盖率时,突然出现以下异常:

引发异常:代码覆盖率分析引擎引发异常: 覆盖率文件 “……保险范围”无效或损坏


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

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

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


顺便说一句,在本地查看覆盖范围时,关闭就地检测没有明显的区别。

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

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


顺便说一句,在本地查看覆盖范围时,关闭就地仪器没有明显区别。

我在VS 2012 Premium上遇到了这个错误。我通过应用修复了它,从那以后就再也没有见过它。

我在VS 2012 Premium上遇到了这个错误。我通过应用修复了它,此后就再也没有见过它。

您是在为整个解决方案运行代码覆盖率,还是在为单元测试运行代码覆盖率?您的代码覆盖率是否仍在具有空单元测试的新项目中工作?您是否尝试删除该文件并运行新的分析(备份当前文件)?事件日志中是否有显示CodeCoverage.exe崩溃的内容?我还建议您安装VSUpdate1,因为我们已经做了一些额外的工作来改进这里的一些特殊情况。是的,我尝试为单个测试和“所有”测试运行代码覆盖率。即使在我以前的解决方案中,也会遇到同样的问题。@peer它甚至没有创建TestResults Folder您是为整个解决方案还是为单元测试运行代码覆盖率?您的代码覆盖率是否仍在具有空单元测试的新项目中工作?您是否尝试删除该文件并运行新的分析(备份当前文件)?事件日志中是否有显示CodeCoverage.exe崩溃的内容?我还建议您安装VSUpdate1,因为我们已经做了一些额外的工作来改进这里的一些特殊情况。是的,我尝试为单个测试和“所有”测试运行代码覆盖率。即使在我以前的解决方案中,也会遇到同样的问题。@peer它甚至没有创建TestResults Folder此解决方案在VS2010中对我有效。我已经处理这个问题好几个月了!这个解决方案在VS2010中对我有效。我已经处理这个问题好几个月了!