複数のプラグインを動的に実行できるアプリケーションがあります。アプリケーションをインストールした後、ユーザーは適切なプラグインをインストール ディレクトリにドロップするだけで、プログラムはインターフェイスに基づいてそれらを動的にロードします。
私が直面している問題は、プラグインがメイン アプリケーションのライブラリを参照して、正しいインターフェイスにアクセスし、グローバル設定を共有することです。ユーザーが再インストールする必要なく、いつでもプラグインを追加できるようにしたいと考えています。ただし、プラグインはライブラリを参照するため、それらを読み込もうとすると、次のエラーが発生します。
Could not load file or assembly 'program', Version=0.1.0.24838, Culture=neutral, PublicKeyToken=623917...' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
すべてのプラグインをインストーラーに追加すると、このエラーを回避できることはわかっていますが、後で新しいプラグインを追加すると、ユーザーはアンインストールして再インストールする必要があります。プラグインを動的にロードする理由は、ユーザーが新しいプラグインをドロップするだけで機能するようにするためです。
アプリケーションのバージョンを気にせずにプラグインがメイン アプリケーションのオブジェクトを参照する方法はありますか?
ありがとう。