C# Ninject、MVC5和web api 2、can和x27;找不到无参数公共构造函数

C# Ninject、MVC5和web api 2、can和x27;找不到无参数公共构造函数,c#,asp.net-mvc,asp.net-web-api2,ninject,C#,Asp.net Mvc,Asp.net Web Api2,Ninject,它可能是复制品,但对我来说没有任何效果;所以我把问题再贴一次 我有一个使用MVC5和WebApi2的web项目。我已经在这些控制器上放置了带Ninject的构造函数DI,但当我尝试访问web api控制器时,出现了以下异常: 确保控制器具有无参数公共构造函数 我在我的NinjectWebCommon.CreateKernel()方法中有这个: var kernel = new StandardKernel(); kernel.Bind<Func<IKernel>>().T

它可能是复制品,但对我来说没有任何效果;所以我把问题再贴一次

我有一个使用MVC5和WebApi2的web项目。我已经在这些控制器上放置了带Ninject的构造函数DI,但当我尝试访问web api控制器时,出现了以下异常:

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

我在我的
NinjectWebCommon.CreateKernel()方法中有这个:

var kernel = new StandardKernel();
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();

RegisterServices(kernel);

GlobalConfiguration.Configuration.DependencyResolver = new Ninject.Web.WebApi.NinjectDependencyResolver(kernel);
System.Web.Mvc.DependencyResolver.SetResolver(new Ninject.Web.Mvc.NinjectDependencyResolver(kernel));

return kernel;
以及有关的约束力:

private static void RegisterServices(IKernel kernel)
{
    kernel.Bind<MyDependency>().ToSelf().InSingletonScope();
}
私有静态无效注册服务(IKernel内核)
{
kernel.Bind().ToSelf().InSingletonScope();
}
我尝试创建一个自定义解析器,如下所示,但仍然存在异常。我也尝试使用Unity,我也有同样的问题


我还可以尝试什么?

如果
MyDependency
本身有任何依赖项,那么这些依赖项也必须向内核注册,否则,在控制器的构造函数注入期间尝试解析
MyDependency
时会导致异常。

是否
MyDependency
本身有任何依赖项?如果是这样的话,他们也必须注册。天哪,@Nkosi,你说得对
MyDependency
本身有4个依赖项,其中一个未注册。我肯定已经检查了所有的。。。如果Ninject能提供一些关于遗忘绑定的信息那就太好了。。。无论如何,把你的评论作为回答,我会接受的。
private static void RegisterServices(IKernel kernel)
{
    kernel.Bind<MyDependency>().ToSelf().InSingletonScope();
}