Windows不能使32位進程加載64位dll,所以我試圖使用遠程處理以允許32位進程與64位進程交互。在.NET中,32位進程如何與64位進程通信?
問題出在這裏:當兩個應用程序位於同一臺機器上時,一個是32位,另一個是64位,它們必須是這樣:使32位或64位都會打破這些應用程序的一切建立在頂部。
我正在使用.NET的System.Runtime.Remoting.RemotingConfiguration類並調用它的Configure()方法,並將引用傳遞給引用MarshalByRefObject類的App.config文件,該類將通過遠程訪問進行訪問。
我得到它的工作,但只有客戶端,主機,MarshalByRefObject類是32位或64位。如果我將它們混合起來,這將不起作用:我將以BadImageFormatException異常結束:
無法加載文件或程序集「MyRemotingObject」或它的某個依賴項。試圖加載格式不正確的程序。
只要我將兩個應用程序都設置爲32位或64位,異常就會消失,但同樣,其中一個必須是32位,另一個必須是64位。
有人能告訴我如何啓用32位.NET應用程序和.64位.NET應用程序之間的進程間通信?
遠程處理不是你的朋友在這裏;使用簡單的東西 - 也許是一個基本的套接字服務器 –
爲什麼不把他們全部32位或全部64位?這兩者混合的意義何在? –