Tag: autofac configuration

Autofac – 确保控制器具有无参数的公共构造函数

我知道之前已经被问过并回答了 – 我问的原因是因为(我认为)我尝试了所有建议的解决方案来解决这个问题,但仍无法解决问题。 我有一个ASP.NET Web API 2.0项目。 我安装了Autofac,Autofac.Mvc5和Autofac.WebApi2依赖项。 当我尝试调用API控制器时,我收到以下错误: 尝试创建“MyController”类型的控制器时发生错误。 确保控制器具有无参数的公共构造函数。 在我的Global.asax我调用了IocConfig.Config() ,它放在App_Start : public static class IocConfig { public static void Config() { var builder = new ContainerBuilder(); builder.RegisterType().As(); builder.RegisterApiControllers(Assembly.GetCallingAssembly()); builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration); WebApiApplication.Container = builder.Build(); DependencyResolver.SetResolver( new AutofacDependencyResolver(WebApiApplication.Container)); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(WebApiApplication.Container); } } 这是MyController的构造函数: public MyController(IMyLogger logger) 当我尝试调用它时,我得到有关构造函数的指定错误。 我错过了什么?