2013-04-12 68 views
2

我有幾個DLL是x64x86版本尚未發佈。我想在x86環境中使用這些。沒有辦法改變這些因素的任何平臺。爲64位dll創建一個32位包裝器。這可能嗎?

我試過搜索互聯網,但無濟於事。我想要做的是創建一個x86庫,它可以與x64進行通信。這可能嗎?如果是這樣,怎麼樣?

優選地,包裝將在C#代碼中,儘管它必須能夠訪問C++ dll。 (x64庫的編寫代碼爲unmanaged C++。)

+1

無論誰低估,請解釋爲什麼。 –

回答

5

您不能在單個進程中執行此操作。這是因爲32位進程只能加載32位模塊,而64位進程只能加載64位模塊。

64位代碼調用32位代碼的唯一方法是使用超出解決方案。例如一個out-proc COM服務器。

+0

謝謝。使用COM服務器和客戶端似乎是我的問題的一個可行的解決方案。 –