MEF不导入root exe部分

时间:2013-08-21 18:24:10

标签: c# .net mef ioc-container

我正在使用根DirectoryCatalog创建合成容器。

var catalog = new DirectoryCatalog(".");
Bootstrapper.CompositionContainer = new CompositionContainer(catalog, true); 

我的可执行文件是“Main.exe” 2个问题:

  1. Main.exe不是探测文件的列表,如何将其包含在列表中?
  2. 探测到所有其他参考文献,有没有办法过滤清单?

1 个答案:

答案 0 :(得分:9)

对于问题的第一部分,您可以使用接受文件搜索过滤器的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);