爲了將一些新的UI遷移到Managed/C#land,我最近在一個大的傳統項目上打開了Common Language Runtime Support(/ clr)在共享DLL中,並依賴於我們整體解決方案中的大約十幾個其他項目。這個項目是我們應用程序的核心,並且會驅動任何生成的託管UI代碼(因此需要打開對interop的clr支持)。混合的C++/CLI TypeLoadException內部限制:太多字段
固定一噸的小小動作錯誤和警告之後,我終於設法將應用程序編譯.. 然而,運行的應用程序會導致EETypeLoadException並讓我無法調試...
做一些挖,我發現原因是「System.TypeLoadException:內部限制:太多領域。」這在編譯結束時發生。然後我發現this link這表明將程序集分解成兩個或更多dll。然而,在我的情況下這是不可能的,因爲我的限制是遺留代碼基本上保持不變。
任何人都可以提出任何其他可能的解決方案嗎?我真的在這裏死路一條。
我仍然看到調試64版本中的字符串池的錯誤。我們不會因爲Visual Studio中的錯誤而在程序集中創建多個託管程序集來拆分程序集。使用VS 2008。 – 2013-10-25 19:32:29