У меня есть проект, созданный с использованием .NET 4.0. У меня много кода, который было бы больно преобразовывать обратно в 2.0.
Я пытаюсь импортировать Dll, созданную с помощью .NET 2.0. Все работает, пока я не попытаюсь выполнить код из этой DLL. Он говорит, что не может загрузить указанный модуль или одну из его зависимостей
Я использовал dumpbin.exe, чтобы проверить, какие у него зависимости
File Type: DLL
Section contains the following imports:
mscoree.dll
402000 Import Address Table
4057F0 Import Name Table
0 time date stamp
0 Index of first forwarder reference
0 _CorDllMain
Итак, я предполагаю, что dll пытается загрузить, но не может найти mscoree.dll из версии 2.0 и, таким образом, вызывает исключение.
Я попытался загрузить свой целевой модуль вручную с помощью
Assembly asm = Assembly.LoadFrom(dllPath);
Отладчик Visual Studio теперь отображает модуль как загруженный, но все равно не может получить к нему доступ. Поисковая система Windows сообщает о десятках «mscoree.dll», разбросанных по всему каталогу c: \ windows, поэтому я немного скептически отношусь к загрузке вручную.