2

我有许多文件夹,它们都包含应该导入的 MEF 部件。查找所有部件以遍历文件夹并创建 MEF 聚合目录对象的最简单方法是什么?

我需要根据从中读取的文件夹将部件放置在应用程序中的不同位置。所以文件夹“Test1Parts”中的部件应该放在应用程序的“Test1”部分下。我是否以某种方式提供了文件夹名称,或者通过聚合目录导入后它们看起来都一样吗?

我有通用部分,所以我不能真正在每个部分上添加一个属性,重新编译只是为了让它们显示在应用程序的不同部分。

另一种方法(如果不能通过文件夹结构控制)当然是使用我在导入之前读取的配置文件,告诉哪个部分应该去哪里。

最好的方法是什么?

4

2 回答 2

1

我不是 100% 清楚您要做什么,但我建议为您的应用程序的每个“部分”使用一个聚合目录。然后,您将根据该部分的零件目录对每个部分执行 Compose。每个目录将仅包含相关目录中的部分(您还可以将一些公共目录加载到两个目录中)。这有任何意义吗?

于 2009-05-25T12:06:59.723 回答
1

我认为最好的方法是为每个文件夹创建一个单独的容器,并为该文件夹中的部件创建一个相应的 DirectoryCatalog。如果有需要全局的部件,那么您可以拥有一个包含这些部件的父目录,并为每个目录设置子目录。

于 2009-05-25T17:31:13.283 回答