MEF2 で良い例が見つかりません。
プラグイン ディレクトリを作成し、ディレクトリ カタログを使用してインポートをロードしたいと考えています。
私が欲しいもの:
- 属性なし。規則での構成ビルダーの使用
- プラグイン ディレクトリ
- dll が追加されると、アプリケーションは利用可能な新しいエクスポートを認識します。
これにキャッスルウィンザーを使用できますか?
MEF2 で良い例が見つかりません。
プラグイン ディレクトリを作成し、ディレクトリ カタログを使用してインポートをロードしたいと考えています。
私が欲しいもの:
これにキャッスルウィンザーを使用できますか?
nugetで利用可能なMEF の新しい Windows ストア バージョンを参照している場合、ドキュメントには次のように記載されています。
カタログの概念も、合成バッチも、「コンテナ階層」や合成スコーピング API もありません。
MEF 1 の開発者にはおかしなことに思えますが、このページではその根拠がよく説明されています。ただし、次のものが必要です。
- dll が追加されると、アプリケーションは利用可能な新しいエクスポートを認識します。
これは、再構成をサポートしていないため、MEF 2 (Win Store) バージョンでは明示的に使用できません。 そのためには、.NET Frameworkの「完全な」MEF が必要ですSystem.ComponentModel.Composition
。
MEF2 で導入された規約モデルは、属性モデルに代わるものです。両方のモデルは、アプリケーション内で共存できます。カタログには、引数として a を取る新しいコンストラクターがReflectionContext
あります。RegisrationBuilder は、このクラスから派生します。したがって、RegistrationBuilder を作成してセットアップし、新しい .ctors を使用して 1 つ以上のカタログを作成し、それを ReflectionContext として渡します。
MEF2 の機能を紹介するこの一連の記事をご覧ください。CodeProjectのこの紹介記事もご覧ください。
Castle Winsdor を使用したことがないので、これについてコメントすることはできません。