混合 C++/CLI TypeLoadException 内部限制:字段过多

2024-03-24

为了将一些新的 UI 迁移到托管/C# 领域,我最近在一个大型旧项目上启用了公共语言运行时支持 (/clr),该项目在共享 DLL 中使用 MFC,并依赖于我们的大约十几个其他项目。整体解决方案。该项目是我们应用程序的核心,并将驱动生成的任何托管 UI 代码(因此需要打开 clr 对互操作的支持)。

在修复了大量的小错误和警告之后,我终于成功地编译了应用程序。 但是,运行应用程序会导致 EETypeLoadException 并使我无法调试...

经过一番挖掘,我发现原因是“System.TypeLoadException:内部限制:字段太多”。这发生在编译结束时。然后我发现这个链接 http://forums.msdn.microsoft.com/en-US/vclanguage/thread/a52c3ee4-63f9-4ccd-b38c-b5cbefabc414/这建议将程序集分解为两个或多个 dll。然而,这对我来说是不可能的,因为我的限制是遗留代码基本上保持不变。

谁能建议任何其他可能的解决方案?我真的陷入了死胡同。


确保启用字符串池 http://msdn.microsoft.com/en-us/library/ms924287.aspxC/C++ 代码生成下的选项已打开。

这通常可以解决这个问题,这是“嗯?”之一。 MS 的限制,例如 Excel 电子表格的 64k 限制。只有这一项会影响装配体中可能出现的符号数量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

混合 C++/CLI TypeLoadException 内部限制:字段过多 的相关文章

随机推荐