我正在尝试制作一个多租户 mvc 网站,其中可以为每个租户覆盖视图。
我正在使用RazorGenerator以便能够从已编译的程序集中加载视图(进行一些修改以允许多个程序集)。
所以现在我需要有一种方法来识别包含视图的 bin 中的 Dll。目前我只是创建一个虚拟类(Class1
)并循环AppDomain.CurrentDomain.GetAssemblies().ToList()
查看包含该虚拟类的程序集
我可以想象一些可能性。
- 在每个视图插件程序集中创建一个接口
IViewPlugin
并将其分配给我Class1
- 命名每个程序集
MyCompany.Presentation.Views.Plugins.[ClientName]
并包含所有匹配的插件。
当程序集本身没有任何实际类时,是否还有其他更好的方法可以将程序集标记为“插件”程序集(除非我专门创建了一个用于识别插件程序集的类)