2013-08-21 55 views
3

我使用root DirectoryCatalog創建組合文件容器。MEF不會導入根exe文件

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

我的可執行文件是 「MAIN.EXE」 2個問題:

  1. MAIN.EXE不是探測的文件列表,我該如何將其包含在一個列表?
  2. 所有其他參考被探查,有沒有什麼辦法來過濾列表?

回答

8

對於你的問題的第一部分,你可以用它接收的文件

var catalog = new DirectoryCatalog(".", "My.Company*.dll"); // asemblies to load 

搜索過濾器的overload要同時加載* .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);