autofac mvc区域在单独的项目中

时间:2013-01-20 11:46:08

标签: autofac areas

我已经将我的MVC4应用程序分成了区域但是使用单独的项目在每个模块项目(区域)中我有一个模块来注册控制器

protected override void Load(ContainerBuilder builder)
        {
            var assembly = Assembly.GetExecutingAssembly();

            builder.RegisterControllers(assembly);
            builder.RegisterModelBinders(assembly);
            builder.RegisterModelBinderProvider();
            builder.RegisterFilterProvider();
        }

我有一个控制器

public class SomeController : Controller {
        public SomeController (IDependency dependency){}
 }

在全球主要项目中我有这个:

 builder.RegisterAssemblyModules();

然后,当我运行此操作时,我收到此错误:

No parameterless constructor provided. 

似乎注册没有发生。区域项目未在主项目中引用

我如何注册?

1 个答案:

答案 0 :(得分:2)

最有可能的是(没有看到你的项目是如何设置和初始化的,除了问题中提供的微小代码片段),这是ASP.NET无法正确定位要解析的类型的问题。

确保您已使用BuildManager注册了插件程序集。

This blog article should help you get where you need to go.