5

MEF2 で良い例が見つかりません。

プラグイン ディレクトリを作成し、ディレクトリ カタログを使用してインポートをロードしたいと考えています。

私が欲しいもの:

  1. 属性なし。規則での構成ビルダーの使用
  2. プラグイン ディレクトリ
  3. dll が追加されると、アプリケーションは利用可能な新しいエクスポートを認識します。

これにキャッスルウィンザーを使用できますか?

4

2 に答える 2

3

nugetで利用可能なMEF の新しい Windows ストア バージョンを参照している場合、ドキュメントには次のように記載されています。

カタログの概念も、合成バッチも、「コンテナ階層」や合成スコーピング API もありません。

MEF 1 の開発者にはおかしなことに思えますが、このページではその根拠がよく説明されています。ただし、次のものが必要です

  • dll が追加されると、アプリケーションは利用可能な新しいエクスポートを認識します。

これは、再構成をサポートしていないため、MEF 2 (Win Store) バージョンでは明示的に使用できません。 そのためには、.NET Frameworkの「完全な」MEF が必要ですSystem.ComponentModel.Composition

于 2014-03-28T13:49:25.590 に答える
1

MEF2 で導入された規約モデルは、属性モデルに代わるものです。両方のモデルは、アプリケーション内で共存できます。カタログには、引数として a を取る新しいコンストラクターがReflectionContextあります。RegisrationBuilder は、このクラスから派生します。したがって、RegistrationBuilder を作成してセットアップし、新しい .ctors を使用して 1 つ以上のカタログを作成し、それを ReflectionContext として渡します。

MEF2 の機能を紹介するこの一連の記事をご覧ください。CodeProjectのこの紹介記事もご覧ください。

Castle Winsdor を使用したことがないので、これについてコメントすることはできません。

于 2013-08-08T20:38:14.197 に答える