项目需要设计一个插件式MVC设计。通过Autofac来做的容器。但是有一点就是在MVC设计里面有一个所有Controller的Type类型缓存。通过其他程序集的Controller无法注册到这个缓存里面。所以在请求时DefaultControllerFactory发现没有这个缓存就报未找到该页面的错误。
如果将带Controller的程序集放到bin目录下 Appdomain就会扫描加载程序集。这样Controller的Type类型才能注册到缓存里面。
我想Appdomain如何在它创建时扫描加载一个指定的子目录。
还有就是后期通过AppDomain Load的程序集也是不能注册到Controller缓存中。
改问题已解决。通过BuildManager类来加载需要加载的插件程序集。微软介绍
http://msdn.microsoft.com/zh-cn/library/system.web.compilation.buildmanager.addreferencedassembly(v=vs.110).aspx