Найдено результатов: 3

Mixed C++ / CLI TypeLoadException внутреннее ограничение: слишком много полей

Стремясь перенести некоторые новые UI в Managed/C# земли, я недавно включил поддержку Common Language Runtime Support (/clr) в большом устаревшем проекте, который использует MFC в общем DLL и опирается на около десятка других проектов в рамках нашего общего решения. Этот проект является ядром нашего приложения и будет управлять любым управляемым кодом UI, который создается (следовательно, необходимо включить поддержку clr для interop).

После исправления тонны мелких мелких ошибок и предупреждений мне наконец удалось заставить приложение компилироваться.. Однако запуск приложения вызывает EETypeLoadException и оставляет меня неспособным выполнить отладку...

Немного покопавшись, я обнаружил, что причина была "System.TypeLoadException: внутреннее ограничение: слишком много полей.- что происходит прямо в конце компиляции. Затем я нашел эту ссылку , которая предлагает разбить assembly на две или более библиотек DLL. Однако в моем случае это невозможно, поскольку ограничение, которое я имею, заключается в том, что унаследованный код в основном остается нетронутым.

Может ли кто-нибудь предложить другие возможные решения? Я действительно в тупике здесь.

compiler-construction   c++-cli   clr    

636   3   01:22, 20th August, 2020


Как поздно привязать 32-битные/64-битные библиотеки во время выполнения

У меня есть проблема,похожая на описанную здесь , но немного отличающаяся от нее (загрузка сборок и их зависимостей).

У меня есть C++ DLL для рендеринга 3D, который мы продаем клиентам. Для пользователей .NET мы будем иметь обертку CLR вокруг него. C++ DLL может быть построен как в 32-х, так и в 64-битных версиях, но я думаю, что это означает, что нам нужно иметь две оболочки CLR, так как CLR привязывается к конкретному DLL?

Скажем, теперь у нашего клиента есть приложение .NET, которое может быть либо 32, либо 64-битным, и что это чистое приложение .NET, которое оставляет CLR, чтобы разработать его из одного набора сборок. Вопрос в том, как код приложения может динамически выбирать между нашими 32-битными и 64-битными комбинациями CLR/DLL во время выполнения?

Даже более конкретно, применим ли предлагаемый ответ на вышеупомянутый вопрос и здесь (т. е. создать обработчик ResolveEvent)?

c#   .net   64-bit   clr   x86-64    

462   3   15:34, 2nd August, 2020


Как я могу вычислить, сколько памяти потребляет .Net Appdomain?

Я пытаюсь программно ограничить потребление памяти плагинами, работающими в .Net AppDomain, но я не могу найти никаких параметров настройки для этого, а также не могу найти способ запросить AppDomain, чтобы выяснить, сколько памяти он потребляет. Есть какие-нибудь идеи?

.net   clr    

455   4   15:29, 26th August, 2020