В поисках перехода на новый пользовательский интерфейс в Managed/C#, я недавно включил поддержку Common Language Runtime Support (/ clr) в большом проекте устаревшего проекта, в котором используется MFC в общей DLL и опирается на десяток других проектов в нашем общем решении. Этот проект является ядром нашего приложения и будет управлять любым управляемым кодом пользовательского интерфейса, который создается (следовательно, необходимо включить поддержку clr для взаимодействия).Смешанный C++/CLI TypeLoadException Внутреннее ограничение: слишком много полей
После фиксации тонны маленьких niggly ошибок и предупреждений, я, наконец, удалось получить приложение для компиляции .. Однако запуск приложения вызывает EETypeLoadException и оставляет меня в состоянии отладки ...
Выполнение некоторых копая, я обнаружил, что причиной является «System.TypeLoadException: Внутреннее ограничение: слишком много полей». которое происходит прямо в конце компиляции. Затем я нашел this link, который предлагает разбить сборку на две или более библиотеки. Однако это невозможно в моем случае, поскольку у меня есть ограничение, что прежний код в основном остается нетронутым.
Может ли кто-нибудь предложить любые другие возможные решения? Я действительно в тупике.
Я до сих пор вижу ошибку с пулом строк в debug 64 builds. Мы не разрушаем сборку из-за ошибок с визуальной студией и создания нескольких управляемых сборок в решении. Использование VS 2008. – 2013-10-25 19:32:29