В одном из проектов я работаю, код динамически загружается в .net DLL в полностью доверенную сборку с использованием функции Assembly.LoadFrom
. До сих пор это работало на 100% без проблем.
Теперь у меня есть библиотека DLL Visual C++, скомпилированная с параметром /clr:pure, которую необходимо загрузить с помощью приведенного выше Assembly.LoadFrom
. Я получаю BadImageFormatException, когда я это делаю, что действительно странно.
В проекте Visual C++ есть 3 типа параметров компиляции CLR:
/клр
/CLR:чистый
/clr: безопасно
Согласно данным мне инструкциям, его необходимо скомпилировать в /clr:pure. Моя проблема заключается в том, что использование /clr:pure вызывает исключение. Если я изменю его на /clr, он также выдаст исключение. Если я изменю его на /clr:safe, он загрузится без исключения (на этом мое тестирование закончилось).
Итак, я думаю, что это действительно вопрос из двух частей:
1) Почему /clr:safe работает, а два других нет?
2) Как мне заставить его работать с /clr?
Заранее спасибо!