私は、フォルダからアセンブリを読み込むMEF(Microsoft Extension Framework)アプリケーションを持っています。私は自分のアプリケーションのために輸出したアセンブリを列挙する必要があります。MEFのAggregateCatalogまたはDirectoryCatalog内でアセンブリを列挙する方法は?
これを行う1つの方法は、GetExportedObject().GetType().Assembly
を呼び出すインポートを列挙することです。しかし、輸入の具体化をせずにこれを行う方がより清潔になるでしょう。カタログなどからロードされたアセンブリを取得する方法はありますか?
著作権、バージョン、名前などの属性を取得するアセンブリが必要です。私のフォルダには、エクスポートされたアセンブリと含まれていないアセンブリの両方を含めることができますが、アプリケーションのインポートを満たすアセンブリのみが必要です。
私はアセンブリがなぜ必要かに関する質問を更新しました。実際には、リストに_my_ importsとは関係のないMEF dllが含まれている可能性があるため、DirectoryCatalogでアセンブリを返すだけでも目標は解決しません。 GetExportedObjectを呼び出さずにアセンブリからアセンブリを取得することができます。または、アセンブリを満足するようにアセンブリを組み立てることができます。 –
これと同じ種類の機能が必要です。私はBuildManagerを使用する別のシステムと統合しており、MEFで使用しているアセンブリをBuildManagerに追加したいと考えています。 –