새 UI를 Managed/C# 토지로 마이그레이션하려는 경우 최근에 MFC를 사용하는 대규모 레거시 프로젝트에서 공용 언어 런타임 지원 (/ clr)을 설정했습니다 공유 DLL을 사용하고 있으며 전체 솔루션 내에서 약 12 개의 다른 프로젝트를 사용합니다. 이 프로젝트는 우리 애플리케이션의 핵심이며 제작 된 관리 UI 코드를 구동합니다 (따라서 interop에 대한 clr 지원을 켜야 할 필요성).혼합형 C++/CLI TypeLoadException 내부 제한 : 필드가 너무 많습니다.
작은 niggly 오류 및 경고의 톤을 고정 후, 나는 마침내 컴파일 할 수있는 응용 프로그램을 얻을 수 있었다 .. 그러나, 응용 프로그램을 실행하는 것은 EETypeLoadException 원인 및 디버깅 날 수없는 잎 ...
일부를 수행 파고, 원인을 "System.TypeLoadException : 내부 제한 : 너무 많은 필드를." 이것은 편집이 끝날 때 바로 발생합니다. 그런 다음 두 개 이상의 dll로 어셈블리를 나눌 것을 제안하는 this link을 발견했습니다. 그러나, 내 경우에는 가능하지 않습니다. 제한 사항은 레거시 코드가 기본적으로 그대로 유지된다는 것입니다.다른 가능한 해결책을 제시 할 수있는 사람이 있습니까? 나는 정말로 여기 막 다른 길에 서있다.
여전히 디버그 64 빌드에서 문자열 풀링 오류가 발생합니다. Visual Studio의 버그와 솔루션에 여러 관리되는 어셈블리를 만들기 때문에 어셈블리를 분해하지 않습니다. VS 2008 사용. –