問題タブ [mef2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1671 参照

c# - MEF2 規則ベースのインポートで CompositionHost エクスポートからメタデータを取得する方法

これは私の最初のSOの質問ですので、ご容赦ください...

ConventionBuilder クラスを使用して MEF2 でコンポーネントをロードしようとしています。インポートされた型の属性として利用できるメタデータにアクセスする必要があるまで、すべてが期待どおりに機能します。次のクラスがあるとします。

これで、「IRunTimeCheck」のインスタンスの規則を定義する ConventionBuilder インスタンスを作成できます。

次に、アセンブリのリストを検査するように構成された「CompositionHost」インスタンスを利用します。への呼び出し

次に、エクスポートされたすべての「IRuntimeCheck」タイプのインスタンスを作成します。

私の質問は、エクスポート プロセス中に IRunTimeCheck 型のメタデータにアクセスする方法です。MEF1 では、ImportMany / Lazy メカニズムを利用できました。「CompositionHost」のすべてのエクスポート オーバーロードではメタデータ属性にアクセスできないため、これまで MEF2 でこの動作を再構築する良い方法を見つけていませんでした。

AddPartMetaData を使用して、ConventionBuilder レベルでメタデータを追加することができました。

MEF2 コードをデバッグすると、メタデータ情報が規約ビルダー レベルで追加されていることがわかります。しかし、この情報を再度エクスポートする方法がわかりませんでした。ExportFactory を利用しようとする投稿がいくつか見つかりました。しかし、それらのほとんどは、私の目標ではない非共有エクスポートで作業しています。

0 投票する
1 に答える
603 参照

c# - Microsoft.Composition. WithDefaultConventions メソッドは何をしますか?

アセンブリのリストを返す GetAssemblies メソッドと、ConventionBuilder を返す GetConventions というメソッドがあると仮定すると、次のようにコンテナーを構成できます。

しかし、次のように構成することもできます。

質問: これら 2 つの方法の違いは何ですか?

私を投げているのは、WithDefaultConventions の「デフォルト」という言葉です。MSDN は、これが何を意味するのかをあまり明らかにしていません。メソッドが単純に WithConventions と呼ばれていた場合、私はそれを再考しなかったでしょう。


以下のメソッドの例。

GetAssembly:

GetConventions:

0 投票する
1 に答える
749 参照

c# - MEF 2 のインストール/開始方法

プロジェクトで MEF 2 を使用したいと考えています。このガイドに従って開始しようとしていますが、コードの最初のスニペットを実行することすらできないようです。はRegistrationBuilder単に存在せず、System.ComponentModel.Composition.Registration本来あるべき名前空間を持っていないようです。

Nuget から Microsoft.Composition パッケージをインストールするだけです。名前空間内のクラスをSystem.Compositionうまく見つけることができますが、始めるには十分ではないようです。

.NET 4.5.1 で Visual Studio Professional 2013 を使用しています。このプロジェクトはコンソール プロジェクトですが (Windows プロジェクトも試しました)、最終的な目標はこれを ASP.NET で使用することです。

MEF2 を機能させるには、さらに何をする必要がありますか?

0 投票する
1 に答える
2244 参照

.net - MEF または MEF2 は .NET Framework に組み込まれていますか?

MEF を理解しようとしていますが、MEF と MEF 2 への参照を見ています。

このサイトには、MEF2 が MEF (4.0) よりもはるかに高速であると記載されています。

ほとんどの人が MEF と言うとき、私が話していることを理解する必要があります。

では、.NET Framework 4.5 にはどれが含まれているのでしょうか? MEFまたはMEF2?

0 投票する
2 に答える
1572 参照

dependency-injection - エクスポートされた値を MEF 2 で構成する

MEF 1 では、ComposeExportedValue(...)-Method ( ) を使用して、既存のオブジェクトをコンテナーに構成することができましたcontainer.ComposeExportedValue...。Microsoft.Composition (MEF 2) でこれを行うにはどうすればよいですか? この目的のためのメソッドが見つかりません。

0 投票する
1 に答える
817 参照

c# - MEF 2 でファクトリやそのメソッドをエクスポートするにはどうすればよいですか?

MEF 2 (Microsoft.Composition) を検討しており、既存のコード ベースと統合することを検討しています。

私の現在のコードベースにはIFactory、単純な署名を持つインターフェイスがあります。

Func<T>工場を登録して、工場でエクスポートを行うと、工場のT出力として登録されるようにしたいと考えています。だから、このようなもの:

次のコードを使用して、新しいClassインスタンスとCreateメソッドへの参照を (デリゲートとして) 返します。Func<Class>

私はこの質問を見ましたが、MEF 2には当てはまらないようです。現在、あらゆる種類のものは異なりますが、はるかに軽量/合理化されているようです(宣伝されているように!)。

MEF 2 でやりたいことを達成することは可能ですか?