我有一个mvc项目,在bin文件夹中我有一个插件文件夹,它看起来像这样
/bin/
/plugin
/plugin1
/plugin2
和我在插件文件夹中使用结构图扫描每个程序集的内容 我尝试使用AssembliesFromPath但没有加载任何程序集。
如何从插件文件夹中的每个目录加载所有程序集?
答案 0 :(得分:3)
StructureMap不会递归搜索路径,因此您只需要在包含插件的每个路径上调用AssembliesFromPath(例如:bin \ plugin \ plugin1,bin \ plugin \ plugin2)。
当然,您不需要在所有子目录中进行硬编码。 StructureMap注册码是c#,这意味着您可以使用语言结构。在bin \ plugin上调用Directory.GetDirectories()以获取子目录列表,然后在Scan()子句中循环它们以在每个子目录上调用AssembliesFromPath。