当试图在大型c#解决方案中找到令人讨厌的互操作错误时,我必须启用“本机代码调试”#39;开关。 当启用本机代码调试时,我注意到抛出了EETypeLoadException。
我想知道我的互操作代码是否存在一些问题。所以我深入挖掘。但是,我终于跟踪了这一点并将我的应用程序一直缩小到以下几行:
public struct StructA
{
public ClassA classa;
}
public class ClassA
{
public StructA structa;
}
class Program
{
static void Main(string[] args)
{
ClassA e = null;
Action d = () =>
{
e = null;
};
}
}
所以只有本机代码。然而,如果你运行上面的命令,由于某种原因会抛出EETypeLoadException。 总之,我知道这个异常是实际类型加载机制的一部分(处理异常,没有本机调试代码按预期工作),但它确实让我担心。 任何人都可以对这个问题有所了解吗?