2010-11-09 104 views
0

我有一个MVC项目,并在bin文件夹我有一个插件文件夹,它看起来像这样StructureMap扫描组件

/bin/ 
    /plugin 
      /plugin1 
      /plugin2 

,我和结构图每一个组件,扫描什么在插件文件夹 我试着用AssembliesFromPath但不加载任何程序集。

如何从插件文件夹中的每个目录加载所有程序集?

回答

3

StructureMap不会递归搜索路径,因此您只需要在包含插件的每个路径(例如:bin \ plugin \ plugin1,bin \ plugin \ plugin2)上调用AssembliesFromPath。

当然,您不需要在所有子目录中进行硬编码。 StructureMap注册码是c#,这意味着你可以使用语言结构。调用bin \ plugin上的Directory.GetDirectories()以获取子目录列表,然后在Scan()子句中循环它们以在每个子目录上调用AssembliesFromPath。