使用“在解决方案中运行所有测试”或“运行已检查的测试”时出现以下错误,但如果我使用“调试已检查的测试”,它们运行良好。
无法获取类型 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)
最佳答案
添加作为答案以帮助其他人发现此问题的可能解决方案:
根据 myAces,我在 Visual Studio 2010 中运行 MSTest 单元测试时遇到 TypeLoadException。调试测试可以完美运行,通过 Resharper 测试运行测试可以完美通过。
和 myAces 一样,代码覆盖率 是问题所在。为了修复,我执行了以下操作:
测试菜单 -> 编辑测试设置 -> 本地
数据和诊断 -> 取消代码覆盖选项 -> 应用并关闭
然后将代码覆盖率重新应用于所需的程序集,一切正常。
关于visual-studio - mstest - 无法获得类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5780447/