gpt4 book ai didi

compiler-construction - 混合 C++/CLI TypeLoadException 内部限制 : too many fields

转载 作者:行者123 更新时间:2023-12-04 13:36:01 24 4
gpt4 key购买 nike

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

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

做了一些挖掘,我发现原因是“System.TypeLoadException:内部限制:字段太多”。这发生在编译结束时。然后我找到了this link这建议将程序集分解为两个或多个 dll。但是,在我的情况下这是不可能的,因为我的限制是遗留代码基本上保持不变。

任何人都可以提出任何其他可能的解决方案吗?我在这里真的走投无路了。

最佳答案

确保 Enable String Pooling C/C++ 代码生成下的选项已打开。

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

关于compiler-construction - 混合 C++/CLI TypeLoadException 内部限制 : too many fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com