【问题标题】:MEF doesn't import root exe partsMEF 不导入根 exe 部件
【发布时间】:2013-08-24 06:29:30
【问题描述】:
我正在使用根目录目录创建组合容器。
var catalog = new DirectoryCatalog(".");
Bootstrapper.CompositionContainer = new CompositionContainer(catalog, true);
我的可执行文件是“Main.exe”
2个问题:
- Main.exe 不是已探测文件的列表,如何将其包含在列表中?
- 探测到所有其他引用,有什么方法可以过滤列表吗?
【问题讨论】:
标签:
c#
.net
mef
ioc-container
【解决方案1】:
对于您问题的第一部分,您可以使用overload,它接受文件搜索过滤器
var catalog = new DirectoryCatalog(".", "My.Company*.dll"); // asemblies to load
要同时加载 *.exe 和 *.dll,请执行以下操作:
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new DirectoryCatalog(".")); // load only *.dll's
catalog.Catalogs.Add(new DirectoryCatalog(".", "*.exe")); // load *.exe
Bootstrapper.CompositionContainer = new CompositionContainer(catalog, true);