2016-11-15 19 views
0

参照されているアセンブリをすべて直接ロードしない方法を尋ねる質問がありましたが、それ以上のステップを進めていきたいと思います。私は拡張可能なサービスとインターフェイスを構築していますが、追加の種類のSender/Receiverを拡張できるという意図があります。例えば、インターフェイスはSMSメッセージの送信を担当し、別のアダプタを持つことができます。 SMSを使用したい場合は、それぞれ独自のISmsAdapterISmsReplyAdapterの実装を持ちますが、アセンブリは必ずしもサービスによって参照されるとは限りません(アプリケーションはWindowsサービスと応答を受け取るWebAPIサービスを構成します)。参照されているアセンブリと参照されていないアセンブリからの負荷の自動依存

私はちょうど参照されるアセンブリである私のautofacモジュールを登録されていません行うことができ、また、このような/ binに/プラグインや

似たように、特定のフォルダ発言しているアセンブリ内のモジュールを登録したいと思いますどのような

私は私が望むものに似た何かをするDirectoryCatalogを有しているCaliburn.Microよりも、この他にも関する何かを見つけることができていない

誰もが私はAutofacでこれをしてください達成することができるかもしれない方法を知っていますか?

答えて

1

これは実際には、反射問題としてのオートファック問題ではありません。 Autofacはアセンブリをどのようにロードするか気にしません。

Assembly.LoadFromのようなものを使用してリフレクトを使用してアセンブリをロードしてから、Autofacでアセンブリのスキャンを使用するか、リフレクションを使用してアセンブリ内の特定のタイプを手動で探します(モジュールから継承するタイプ、特定の命名規則を持つタイプ、特定のインタフェースの実装など)を行い、for-loopで型を個別に登録します。

関連する問題