0

直接使用されていない場合でも、参照されているすべてのアセンブリを読み込む方法を尋ねる多くの質問を見てきましたが、さらに一歩進めたいと思います。拡張可能なサービスとインターフェイスを構築しています。意図は、送信者/受信者を追加のタイプで拡張できることです。たとえば、インターフェイスは SMS メッセージの送信を担当し、異なるアダプターを持つことができます。たとえば、2 つの異なるアプリケーションがあるとします。 SMS を使用する場合、それぞれが独自のISmsAdapterおよびの実装を持っているISmsReplyAdapterため、アセンブリは必ずしもサービスによって参照されるとは限りません (アプリケーションは、応答を受信するための Windows サービスと WebAPI サービスで構成されます)。

私ができるようにしたいのは、参照されているアセンブリにある autofac モジュールを登録するだけでなく、/bin/plugins などの特定のフォルダーにあるアセンブリにモジュールを登録することです。

私が望むものと似たようなことをする以外Caliburn.Microに、これに関連するものを見つけることができませんでしたDirectoryCatalog

Autofacでこれを達成する方法を知っている人はいますか?

4

1 に答える 1

1

これは実際には Autofac の質問ではなく、振り返りの質問です。Autofac は、アセンブリの読み込み方法を気にしません。

Assembly.LoadFromなどを使用してリフレクションを通じてアセンブリをロードし、Autofac でアセンブリ スキャンを使用するか、引き続きリフレクションを使用して、アセンブリ内の特定の型 (モジュールから継承する型、特定の命名規則を持つ型、特定の命名規則を持つ型など) を手動で見つけます。特定のインターフェイスなど) を作成し、型を個別に for ループに登録します。

于 2016-11-15T14:21:17.230 に答える