为了将一些新的 UI 迁移到托管/C# 领域,我最近在一个大型遗留项目上打开了公共语言运行时支持 (/clr),该项目在共享 DLL 中使用 MFC,并依赖于我们内部的大约十几个其他项目整体解决方案。这个项目是我们应用程序的核心,它将驱动生成的任何托管 UI 代码(因此需要打开 clr 对互操作的支持)。
在修复了大量的小错误和警告之后,我终于设法让应用程序编译。但是,运行应用程序会导致 EETypeLoadException 并且让我无法调试......
做了一些挖掘,我发现原因是“System.TypeLoadException:内部限制:字段太多”。这发生在编译结束时。然后我找到了这个链接,它建议将程序集分解为两个或多个 dll。但是,在我的情况下这是不可能的,因为我的限制是遗留代码基本上保持不变。
任何人都可以提出任何其他可能的解决方案吗?我在这里真的走投无路了。