C # — Создание 32-битной оболочки для 64-битных DLL. Это возможно?

У меня есть пара dll, которые x64с x86 версии еще не выпущены. Я хочу использовать их в x86 среда. Нет никакого способа изменить любую из платформ этих факторов.

Я пытался искать в Интернете, но безрезультатно. То, что я хочу сделать, это как-то создать x86 библиотека, которая может общаться с x64 из них. Это вообще возможно? Если так, то как?

Предпочтительно, обертка будет в C# код, хотя он должен иметь возможность доступа C++ DLLs. (The x64 библиотеки написаны на unmanaged C++.)

2

Решение

Вы не можете сделать это в течение одного процесса. Это связано с тем, что 32-разрядный процесс может загружать только 32-разрядные модули, а 64-разрядный процесс может загружать только 64-разрядные модули.

Единственный способ для вашего 64-битного кода вызвать 32-битный код, и наоборот, это использовать внепроцессное решение. Например, COM-сервер вне процесса.

5

Другие решения

Других решений пока нет …