さまざまな理由 (信頼性、展開) のために別の AppDomain で実行する必要がある .NET コードがあります。現在の AppDomain に読み込まれないように、呼び出しを実際のものに委任する MBR から派生したプロキシ オブジェクトを作成しました。通常の CreateInstanceAndUnwrap でプロキシを作成します。
this.eDirectCommunication = (EDirectCommunicationProxy) this.appDomain.CreateInstanceAndUnwrap(x, y);
これは、.NET クライアントから使用するとうまく機能しますが、COM クライアントからロードするとキャストが失敗します。透過プロキシからのキャストに失敗します。必要なタイプが目的の AppDomain で作成され、Unwrap が成功することを検証しましたが、キャストは失敗します。興味深いことに、両方の AppDomain が同じベース ディレクトリを持っている場合に機能しますが、これはアセンブリ バインディングの失敗を示しています。しかし、Fusion のログ ビューアーには問題はありません。
こことここに似たような質問が 2 つありますが、答えはありません。何がうまくいかないのか、またはどうすればさらにデバッグできますか?