0

「MEF と PRISM を使用して WPF で複合モジュラー UI アプリケーションを作成する」という記事に従って、指示どおりに WPF アプリケーションを作成し、メイン ウィンドウの領域に挿入されたビューが正常に動作します。ただし、MEF パーツをエクスポートするモジュール プロジェクトについては、出力ディレクトリをどこかのパーツ リポジトリ ディレクトリに設定しました。ソリューションをビルドするとModuleA.dll、そのディレクトリに配置されますが、すべての依存関係があります。

私はDirectoryCatalogそのパーツ レポ ディレクトリを使用しています。これには 26 個のパーツが含まれており、そのうちの 1 つだけが私のものです。たとえば、アセンブリを調べてAssemblyCatalog. ディレクトリを呼び出しPartsて、エクスポートを調べて、どれが私のものかを確認する方法はありますか? カタログをブラウズすると、自分のパーツが表示されますが、これを文法的に調べることができるプロパティが表示されません。

4

1 に答える 1

1

単一の特定のアセンブリからのみロードしたい場合、それは MEF の要点全体に反することになります...それが必要な場合は、そのアセンブリを直接参照するだけです。MEF の方法で処理したい場合、アプリはカタログの内容を気にする必要はありません。必要なインターフェイスを「インポート」し、フレームワークがこのインターフェイスを満たす部分を判断できるようにする必要があります。パーツのカスタム インターフェイスを定義したと仮定すると、MEF は 1 つのアセンブリでその実装を 1 つだけ検出し、他の 25 のアセンブリでは何も検出しません。

于 2013-08-27T12:44:02.947 に答える