C# “计算方法Activator.CreateInstance()时发生内部错误”

C# “计算方法Activator.CreateInstance()时发生内部错误”,c#,.net,C#,.net,我正在从两个目录中找到的文件加载类型,并使用System.Activator创建每种类型的实例。我已经做了很多次,没有任何问题,这让我觉得我即将学到一些东西 加载第一个目录中的文件时不会出现问题。在下一个目录中的第一个文件中,它将调用Activator.CreateInstancetype并继续运行,但返回的实例无法计算,无法计算表达式。尝试在QuickWatch窗口中执行相同的语句会产生上述错误,该错误是类型为object的值,而不是异常 我所尝试的: 引用包含所讨论类型的程序集,并使用new

我正在从两个目录中找到的文件加载类型,并使用System.Activator创建每种类型的实例。我已经做了很多次,没有任何问题,这让我觉得我即将学到一些东西

加载第一个目录中的文件时不会出现问题。在下一个目录中的第一个文件中,它将调用Activator.CreateInstancetype并继续运行,但返回的实例无法计算,无法计算表达式。尝试在QuickWatch窗口中执行相同的语句会产生上述错误,该错误是类型为object的值,而不是异常

我所尝试的:

引用包含所讨论类型的程序集,并使用new和empty构造函数专门创建实例,即使是从即将发生此错误的同一点。成功 在调用堆栈中的其他点对此类型使用Activator。失败 所讨论的类型实现了一个接口,但没有子类化任何其他类。 显然,在明确引用程序集之后,该程序集位于AppDomain中。 将实施部件移动到其他位置。失败 我甚至不知道该检查什么,我以前从未见过


这是Visual Studio 2013,.NET 4.5。在Activator.CreateInstance的上下文中找不到此错误的任何引用。我能找到的唯一一个关于这个错误的实例没有解决方案。我不希望我提供的信息会导致解决问题,但如果我至少能找到可能的原因,我可以研究自己的解决方案。

尝试打开Fusion日志记录,检查Fusion正在做什么,并确保它能够找到并加载程序集

在加载时,可能会出现过多的问题

我遇到过一些:

已加载给定程序集的另一个版本(可能是以前的版本),但缺少此类型。 由于正在加载其依赖项的另一个不兼容版本,因此无法加载此程序集。
这是调试器本身失败,而不是您的代码。天知道你是怎么做到的,你的问题里没有线索。“你需要继续努力,这种失败确实会自我纠正的。”汉帕桑,请把它作为一个答案贴出来,这样我就可以接受了。在从属性中提取值之前,调试器无法计算与所创建实例有关的所有内容。但这根本不妨碍执行,所以你似乎是对的。