Jak proces 32-bitowy może komunikować się z 64-bitowym procesem w .NET?

System Windows nie umożliwia załadowania 64-bitowego procesu w 32-bitowym procesie, więc próbuję użyć funkcji zdalnej, aby umożliwić 32-bitowemu procesowi interakcję z 64-bitowym procesem.

Oto problem: podczas gdy dwie aplikacje znajdują się na tej samej maszynie, jedna jest 32-bitowa, a druga 64-bitowa, i muszą być w ten sposób: wykonanie zarówno 32-bitowego, jak i 64-bitowego kodu złamałoby wszystko, na czym opierają się te aplikacje z.

Korzystam z klasy System.Runtime.Remoting.RemotingConfiguration .NET i wywoływam jej metodę Configure () i przekazuję odwołanie do pliku App.config, który odwołuje się do klasy MarshalByRefObject, do której będę uzyskiwał dostęp za pośrednictwem usługi zdalnej.

Mam go do pracy, ale tylko tak długo, jak klasa Client, Host, MarshalByRefObject jest 32-bitowa lub 64-bitowa. Jeśli je zmiksuję, to nie zadziała: otrzymam wyjątek BadImageFormatException:

Nie można załadować pliku lub zespołu „MyRemotingObject” lub jednej z jego zależności. Podjęto próbę załadowania programu o niepoprawnym formacie.

Wyjątek zniknie, gdy tylko zrobię obie aplikacje 32-bitową lub 64-bitową, ale znowu jeden z nich musi być 32-bitowy, a drugi 64-bitowy.

Czy ktoś może mi powiedzieć, jak włączyć komunikację międzyprocesową między 32-bitową aplikacją .NET a aplikacją .NET bit .64?

questionAnswers(2)

yourAnswerToTheQuestion