Windowsでは32ビットプロセスで64ビットdllを読み込むことはできないため、32ビットプロセスが64ビットプロセスと対話できるようにするためにremotingを使用しようとしています。32ビットプロセスは.NETの64ビットプロセスとどのように通信できますか?
2つのアプリケーションが同じマシンに置かれているうちに、1つは32ビットでもう1つは64ビットです。そのようにする必要があります.32ビットまたは64ビットの両方を作成すると、の上に構築されています。
私は.NETのSystem.Runtime.Remoting.RemotingConfigurationクラスを使用していて、そのConfigure()メソッドを呼び出して、リモート処理を介してアクセスするMarshalByRefObjectクラスを参照するApp.configファイルへの参照を渡しています。
クライアント、ホスト、MarshalByRefObjectクラスの長さが32ビットまたは64ビットの場合に限り、問題なく動作します。私がそれらを混ぜると、これはうまくいかないでしょう:私はBadImageFormatExceptionで終わるでしょう:
ファイルまたはアセンブリ 'MyRemotingObject'またはその依存関係の1つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。
両方のアプリケーションを32ビットまたは64ビットのいずれかにすると例外がなくなりますが、もう1つは32ビットともう1つの64ビットでなければなりません。
32ビット.NETアプリケーションと.64ビット.NETアプリケーションの間でプロセス間通信を有効にする方法を教えてもらえますか?
リモートはここにあなたの友人ではありません。より単純なものを使用してください。おそらく、基本的なソケットサーバーでしょう。 –
それらをすべて32ビットまたは64ビットにしてみませんか?これら2つを混ぜるのは何ですか? –