【问题标题】:mstest - unable to get type errormstest - 无法获取类型错误
【发布时间】:2011-08-12 10:24:48
【问题描述】:

使用“在解决方案中运行所有测试”或“运行检查测试”时出现以下错误,但如果我使用“调试检查测试”,它们运行良好。

无法获取类型 TestDataLayer.TestPatientDAO、TestDataLayer、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null。错误:System.TypeLoadException:无法从程序集“DomainLayer,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“DomainLayer.BaseEntity”。

DomainLayer.BaseEntity 是一个抽象类。

再次删除和添加对 DomainLayer 的引用没有帮助。

卸载和加载 TestDataLayer 或 DomainLayer 没有帮助。

编辑: 删除和添加 CodeCoverage 解决了问题(wtf)

【问题讨论】:

    标签: visual-studio mstest


    【解决方案1】:

    添加作为答案以帮助其他人发现此问题的可能解决方案:

    根据 myAces,我在 Visual Studio 2010 中运行 MSTest 单元测试时遇到了 TypeLoadException。调试测试将完美无缺,通过 Resharper 测试运行测试将完美通过。

    与 myAces 一样,代码覆盖率 是问题所在。为了解决这个问题,我执行了以下操作:

    测试菜单 -> 编辑测试设置 -> 本地

    数据和诊断 -> 取消选中代码覆盖选项 -> 应用并关闭

    然后将代码覆盖率重新应用于所需的程序集,一切正常。

    【讨论】:

    • 令人惊讶地似乎比stackoverflow.com/a/8824250/934618 有用得多:)
    • 谢谢阿什!虽然我使用的是 VS 2012,但取消选中 Test (menu)-> Test Settings -> ($SolutionPath)\licaltestrun.testrunco​​nfig 解决了这个问题。
    猜你喜欢
    • 2020-11-19
    • 2021-12-14
    • 1970-01-01
    • 2015-02-28
    • 2020-09-21
    • 1970-01-01
    • 2016-04-22
    • 2022-12-06
    • 1970-01-01
    相关资源
    最近更新 更多