0

これが私のシナリオです:

優れたプラグイン アーキテクチャを実現するために、プロジェクトに Microsoft AddIn Framework を使用しています。また、dll にコンパイルして作成したカスタム API もあります。ホスト アプリケーションとすべてのアドインは、この API を参照する必要があります。明らかに、このフレームワークを使用する場合、すべてのアドインは AddIns ディレクトリ内の独自のディレクトリにある必要があります。

これまでの経験から、個々のアドインが参照するアセンブリは、個々のアドインのディレクトリに配置する必要があります。そうしないと、アセンブリが見つからず、例外が発生します。私の場合、すべてのアドインが API を参照するため、そのディレクトリにその dll が必要です。これは、不要と思われる API dll のコピーがたくさんあることを意味します。ホストとすべてのアドインがそれらを見つけることができる、必要なアセンブリ (アプリケーション ルートの lib フォルダーなど) を配置できる場所が 1 つだけあればよいと思います。これは可能ですか?アドインを別の方法でロードすると (appdomain?)、ホスト アプリ ディレクトリを参照できるようになる可能性があります。私はMAFに比較的慣れていないので、この組織のやり方についてのアドバイスは役に立ちます.

4

2 に答える 2

0
  1. 「共通」アセンブリを GAC に展開することがオプションである場合は、読み込み中のアセンブリをバインドできるようにする必要があります。
  2. 分離されたアプリケーションをデプロイする場合は、共通アセンブリを exe と同じフォルダーに配置するか、プローブ マッピングをその場所に追加します。

<runtime> <assemblyBinding xmlns="urn:schemas=microsoft-com:asm.v1"> <probing privatePath="myfolder"/> </assemblyBinding> </runtime>

詳細を参照してくださいhttp://www.thescarms.com/dotnet/Assembly.aspx

于 2011-03-17T06:39:38.607 に答える