これが私のシナリオです:
優れたプラグイン アーキテクチャを実現するために、プロジェクトに Microsoft AddIn Framework を使用しています。また、dll にコンパイルして作成したカスタム API もあります。ホスト アプリケーションとすべてのアドインは、この API を参照する必要があります。明らかに、このフレームワークを使用する場合、すべてのアドインは AddIns ディレクトリ内の独自のディレクトリにある必要があります。
これまでの経験から、個々のアドインが参照するアセンブリは、個々のアドインのディレクトリに配置する必要があります。そうしないと、アセンブリが見つからず、例外が発生します。私の場合、すべてのアドインが API を参照するため、そのディレクトリにその dll が必要です。これは、不要と思われる API dll のコピーがたくさんあることを意味します。ホストとすべてのアドインがそれらを見つけることができる、必要なアセンブリ (アプリケーション ルートの lib フォルダーなど) を配置できる場所が 1 つだけあればよいと思います。これは可能ですか?アドインを別の方法でロードすると (appdomain?)、ホスト アプリ ディレクトリを参照できるようになる可能性があります。私はMAFに比較的慣れていないので、この組織のやり方についてのアドバイスは役に立ちます.