次のような別のアプリ(app2)をロードするアプリ(app1)があります。
this._appDomain.ExecuteAssembly(assemblyName);
その行を実行すると、次のエラーが発生します。
ファイルまたはアセンブリを読み込めませんでした。
App2にはFooへの参照があります。app1でFooへの参照を追加すると、機能します。問題は、app1がFooを参照したくないということです。App1の主な目的は、ネットワーク共有でapp2の新しいバージョンを検出し、app2をアンロードし、新しいバイナリをコピーしてから、上記の行を使用してapp2を再起動することです。その後、app1に古いFooが含まれている場合、app2は自身の実行ディレクトリでFooの代わりにそれを使用します。
app2のみがFooを参照し、app1がそのエラーなしでapp2をロードするようにするにはどうすればよいですか?
注:シャドウコピーを使用していますが、app1にFooへの参照がある場合に機能します。
appDomainSetup.ShadowCopyFiles = "true";