C# Assembly.LoadFrom создает исключение BadImageFormatException

В одном из проектов я работаю, код динамически загружается в.net DLL в полностью доверенную сборку, используя Assembly.LoadFrom функция. До сих пор это работало на 100% без проблем.

Теперь у меня есть DLL-библиотека Visual C++, скомпилированная с / clr: pure, которая должна быть загружена с использованием вышеуказанного Assembly.LoadFrom, Когда я делаю, я получаю BadImageFormatException, что действительно странно.

В проекте Visual C++ есть 3 типа параметров компиляции CLR:

/ CLR

/ CLR: чисто

/ CLR: сейф

Согласно данным мне инструкциям, его нужно скомпилировать в / clr: pure. Моя проблема заключается в использовании / clr: pure выбрасывает исключение. Если я изменяю это на / clr, это также выдает исключение. Если я изменяю его на / clr: safe, он загружается без исключения (это - то, где мое тестирование закончилось).

Так что, думаю, это действительно вопрос из двух частей:

1) Почему / clr: безопасная работа, а не две другие?

2) Как мне заставить его работать с /clr?

Заранее спасибо!

1 ответ

Решение

После исследования этот метод не может загружать смешанные сборки. Они могут быть только чистым MSIL.

Другие вопросы по тегам