プラグインのリロードをサポートし、複数の AppDomains を使用しないプラグイン アーキテクチャを作成しました。dll が変更されたときにAssembly.Load(Byte[])
メソッドを使用して新しいアセンブリを作成し、myAssembly.CreateInstance(type.FullName)
. それはすべてうまく機能します。ここで、プラグインがアセンブリを参照できるようにし、それらの参照をその場で変更できるようにしたいと考えました。私はAppdomain.AssemblyResolve
イベントを実装しましたが、もちろん、プラグインの参照を一度ロードすることはできますが、参照された dll が変更されたときに再ロードすることはありません。
アセンブリからインスタンスを作成し、参照として使用する他のアセンブリを指定する方法はありますか?
小さなメモ: アプリ ドメインについては知っていますが、メモリ内にあるデータ (何 GB も) をシリアル化したくないため、それらを使用できません。