Можно ли загрузить 64-битную dll в 32-битный процесс? Вообще говоря, я знаю, что это не может произойти. Еще, может быть, есть некоторые исключения?
Нет, и ни один 64-битный процесс не может загрузить 32-битную DLL.
Если вы работаете в 64-битной ОС, вы можете загрузить DLL в 64-битном процессе и установить связь с 32-битным процессом через IPC .
Если у вас 32-битная ОС, вам не повезло.
В .NET можно загрузить 64-битную DLL в 32-битный процесс только для отражения . Для получения подробной информации, пожалуйста, проверьте " Анализ 64-битной DLL из шаблона T4 в Visual Studio (32-битной) с использованием Reflection ".
Я знаю, что это особый случай, но я решил добавить его в любом случае, потому что это может помочь другим, ищущим решение, подобное мне.
Но новый компьютер, купленный сегодня, по крайней мере, имеет 4G оперативной памяти. Мы не можем предотвратить использование 64-битной ОС, чтобы избежать проблем. Мы должны столкнуться с 64-битной положительно! Сервер 2008 R2 имеет только 64-разрядную версию. Проблемы вокруг EXE AnyCPU / x86, 32-битной COM / C ++ dll должны быть обработаны. Идеально компилировать 32- и 64-битные COM / C ++ dll.