Различные платформы приложений в одном .Net процессе? - PullRequest
6 голосов
/ 15 ноября 2010

Меня интересует: могу ли я загрузить 32-битную библиотеку x86 в качестве второго домена приложений в среду 64-битных приложений?

Для более подробной информации:

1) Основной исполняемый файл - 64-разрядное приложение C # pure .net 4;

2) Модуль - это сторонняя оболочка .net 2.0 для некоторых неуправляемых библиотек x86;

Так могу ли я создать второй 32-битный AppDomain в 64-битном .net 4 процессе и загрузить 32-битный модуль в новый 32-битный AppDomain? И затем маршал между 64-битным AppDomain по умолчанию и вторым 32-битным AppDomain?

Спасибо за любой совет!

1 Ответ

7 голосов
/ 15 ноября 2010

Это невозможно, битность - это свойство процесса, а не свойство appdomain. Чтобы это работало, вам нужно загрузить эту DLL в отдельный процесс. Используйте стандартные механизмы .NET IPC, чтобы поговорить с ним. Именованные трубы, розетки, пульты, WCF. Или установите целевое значение Platform для x86.

...