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位?这两者混合的意义何在? –