Результаты поиска
Mixed C++ / CLI TypeLoadException внутреннее ограничение: слишком много полей
Стремясь перенести некоторые новые UI в Managed/C# земли, я недавно включил поддержку Common Language Runtime Support (/clr) в большом устаревшем проекте, который использует MFC в общем DLL и опирается на около десятка других проектов в рамках нашего общего решения. Этот проект является ядром нашего приложения и будет управлять любым управляемым кодом UI, который создается (следовательно, необходимо включить поддержку clr для interop).
После исправления тонны мелких мелких ошибок и предупреждений мне наконец удалось заставить приложение компилироваться.. Однако запуск приложения вызывает EETypeLoadException и оставляет меня неспособным выполнить отладку...
Немного покопавшись, я обнаружил, что причина была "System.TypeLoadException: внутреннее ограничение: слишком много полей.- что происходит прямо в конце компиляции. Затем я нашел эту ссылку , которая предлагает разбить assembly на две или более библиотек DLL. Однако в моем случае это невозможно, поскольку ограничение, которое я имею, заключается в том, что унаследованный код в основном остается нетронутым.
Может ли кто-нибудь предложить другие возможные решения? Я действительно в тупике здесь.
Как поздно привязать 32-битные/64-битные библиотеки во время выполнения
У меня есть проблема,похожая на описанную здесь , но немного отличающаяся от нее (загрузка сборок и их зависимостей).
У меня есть C++ DLL для рендеринга 3D, который мы продаем клиентам. Для пользователей .NET мы будем иметь обертку CLR вокруг него. C++ DLL может быть построен как в 32-х, так и в 64-битных версиях, но я думаю, что это означает, что нам нужно иметь две оболочки CLR, так как CLR привязывается к конкретному DLL?
Скажем, теперь у нашего клиента есть приложение .NET, которое может быть либо 32, либо 64-битным, и что это чистое приложение .NET, которое оставляет CLR, чтобы разработать его из одного набора сборок. Вопрос в том, как код приложения может динамически выбирать между нашими 32-битными и 64-битными комбинациями CLR/DLL во время выполнения?
Даже более конкретно, применим ли предлагаемый ответ на вышеупомянутый вопрос и здесь (т. е. создать обработчик ResolveEvent)?
Как я могу вычислить, сколько памяти потребляет .Net Appdomain?
Я пытаюсь программно ограничить потребление памяти плагинами, работающими в .Net AppDomain, но я не могу найти никаких параметров настройки для этого, а также не могу найти способ запросить AppDomain, чтобы выяснить, сколько памяти он потребляет. Есть какие-нибудь идеи?