2

我已经将我的 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. 

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

我怎样才能注册它们?

4

1 回答 1

2

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

确保您已在 BuildManager 中注册了插件程序集。

这篇博客文章应该可以帮助您到达您需要去的地方。

于 2013-01-21T15:55:13.100 回答