私はこのような他のアプリ(APP 2)をロードアプリ(APP1)がをロードできませんでした。ファイルまたはアセンブリを読み込めませんでした。のAppDomain ExecuteAssemblyは、ファイルまたはアセンブリ
App2にはFooへの参照があります。 app1にFooへの参照を追加すると、それは機能します。問題は、app1がFooを参照しないようにすることです。 App1の主な目的は、ネットワーク共有上のapp2の新しいバージョンを検出し、app2をアンロードし、新しいバイナリをコピーし、上記の行を使ってapp2を再起動することです。これを実行した後、app1に古いFooがある場合、app2はそれ自身の実行ディレクトリでFooの代わりにそのappを使用します。
どのようにしてapp2だけがFooを承認するようにすることができますが、app1はまだそのエラーなしでapp2をロードしますか?
注:私はシャドウコピーを使用しています。これは、app1がFooへの参照を持つときに機能しています。
appDomainSetup.ShadowCopyFiles = "true";
いいえ、Fooはapp2が必要とする私自身のアセンブリです。 Fooはapp2が進化するにつれて時間の経過と共に変化することができ、私はapp1を実行しているフォルダに失効したFooを望んでいません。 –
私の間違い - 私は意味しました:Fooをapp2に埋め込むことで、Fooを実行中のフォルダのどこにでも別のファイルとして保存する必要がなくなり、Fooは決して古くならないでしょう... – Yahia
ああ、それは意味がありますそれもやってください。他のプロジェクトはFooを参照しています。私は、以下のMikaelによって提供されたリンクがうまくいくと思います。 –