我知道它以前被问过并回答过 - 我问的原因是因为(我认为)我尝试了所有建议的解决方案,但仍然无法解决这个问题。
我有一个 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<MyLogger>().As<IMyLogger>();
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)
当我尝试调用它时,我得到了关于构造函数的指定错误。我错过了什么?