当我使用 Resharper Unit Test Runner 运行或调试我的单元测试时,我会弹出一个对话框,显示“Unit Test Runner 无法运行测试 - 无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息” :

.net - 如何诊断 Resharper Unit Test Runner  "Unable to load one or more of the requested types"错误-LMLPHP

现在我尝试了重建、清理、手动删除文件夹、visual studio 重新启动、硬件重新启动、查看输出/调试窗口以及晚上启用 R#“内部”模式以便我可以看到它的日志(写入 %Temp%\JetLogs据我了解),但没有一个能解决它或提供任何线索。我尝试过“调试”R#,但在调试器遇到任何异常之前再次弹出对话框。

我他妈的该怎么解决这个问题?这非常烦人!

我在用着:

  • R# 2016.1.2
  • NUnit 3.2.1
  • Visual Studio 2015 更新 2 (14.0.25123)
  • 最佳答案

    我最终用一种相当简单的方法对此进行了诊断:

    我将我的单元测试程序集从类库转换为控制台应用程序,并添加了一个 Main 入口点(如下所示)。在那里,我迭代了所有我希望会导致加载所有类型和依赖程序集的程序集类型,这将揭示任何加载异常。是的,它奏效了。它很快抛出一个 System.Reflection.ReflectionTypeLoadException,这是错误消息“无法加载一个或多个...”的规范来源。在调试器中,我可以检查 LoaderExceptions 属性,它告诉我潜在的问题是什么。

    public class Program
    {
        public static void Main(string[] args)
        {
            var types = Assembly.GetExecutingAssembly().GetTypes();
        }
    }
    

    关于.net - 如何诊断 Resharper Unit Test Runner "Unable to load one or more of the requested types"错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38007101/

    10-17 00:48