Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Mixed C++ / CLI TypeLoadException внутреннее ограничение: слишком много полей
Стремясь перенести некоторые новые UI в Managed/C# земли, я недавно включил поддержку Common Language Runtime Support (/clr) в большом устаревшем проекте, который использует MFC в общем DLL и опирается на около десятка других проектов в рамках нашего общего решения. Этот проект является ядром нашего приложения и будет управлять любым управляемым кодом UI, который создается (следовательно, необходимо включить поддержку clr для interop).
После исправления тонны мелких мелких ошибок и предупреждений мне наконец удалось заставить приложение компилироваться.. Однако запуск приложения вызывает EETypeLoadException и оставляет меня неспособным выполнить отладку...
Немного покопавшись, я обнаружил, что причина была "System.TypeLoadException: внутреннее ограничение: слишком много полей.- что происходит прямо в конце компиляции. Затем я нашел эту ссылку , которая предлагает разбить assembly на две или более библиотек DLL. Однако в моем случае это невозможно, поскольку ограничение, которое я имею, заключается в том, что унаследованный код в основном остается нетронутым.
Может ли кто-нибудь предложить другие возможные решения? Я действительно в тупике здесь.
Убедитесь, что включен параметр включить объединение строк под C/C++ генерацией кода.
Это обычно устраняет эту проблему, которая является одним из тех "huh?" MS ограничений, таких как ограничение 64k для Excel электронных таблиц. Только это влияет на количество символов, которые могут появиться в assembly.
Вам нужно включить /clr для всего проекта? Не могли бы вы вместо этого включить его только для небольшого количества выбранных файлов и быть очень осторожными при включении управляемого кода? Я работаю с большим приложением C++/MFC, и мы обнаружили, что очень трудно использовать управляемый C++. Я люблю C# и .NET, но управляемый C++ был не чем иным, как головной болью. Большинство наших проблем произошло с .NET 1.0/1.1 ... может быть, теперь все наладилось.
Я сделал это с очень большими смешанными режимами (C#/C++) приложений три раза (3x) и один раз поставив выше исправление на место никогда не видел ошибку снова.
И нет, если что-то это должно привести к немного более быстрому выполнению во время выполнения (ничего, что вы могли бы когда-либо измерить, однако.)
Но я согласен, что это своего рода временная остановка. Внутренний лимит на символы не был проблемой, а если и был, то этот лимит был намного выше. Затем MS изменил часть кода загрузчика. Я попал на MSDN и разглагольствовал об этом, и мне сказали в недвусмысленных выражениях: "только идиот может поместить столько символов в один assembly".
(Что является одной из причин, по которой я больше не участвую в MSDN.)
Ну, пусть я дурак, но я не думаю, что мне нужно менять физическую структуру моего приложения, разбивая вещи на спутник DLLs, просто чтобы обойти тот факт, что загрузчик решил, что 10 001 символ-это 1 слишком много.
И, как вы уже отмечали, мы часто не можем контролировать, как сборки/satellite DLLs являются структурой, и какие зависимости они содержат.
Но я не думаю, что вы снова увидите эту ошибку, в любом случае.