C# ninject.ActivationException的ninject错误

C# ninject.ActivationException的ninject错误,c#,dependency-injection,ninject,C#,Dependency Injection,Ninject,我有ASP.NET Web应用程序,并将dll添加到项目中。 我把它粘上,我选择了尼尼特 因为Web应用程序必须有默认构造函数,所以我决定用以下方式粘合它: public IPlayerDb PlayerDb { get; set; } public Logon() { Global.Kernel.Inject(this); } IPlayerDb位于外部DLL库“Contracts.DLL”中 实现IPlayerDb的PlayerDb类位于其他dll中:“DataAccess.d

我有ASP.NET Web应用程序,并将dll添加到项目中。 我把它粘上,我选择了尼尼特

因为Web应用程序必须有默认构造函数,所以我决定用以下方式粘合它:

public IPlayerDb PlayerDb { get; set; }

public Logon()
{
     Global.Kernel.Inject(this);
}
IPlayerDb位于外部DLL库“Contracts.DLL”中 实现IPlayerDb的PlayerDb类位于其他dll中:“DataAccess.dll”

在DataAccess.dll中,存在类生成粘合:

public class Bindings : NinjectModule
{
    public override void Load()
    {
        Bind<IDbConfig>().To<DbConfig>();
        Bind<IPlayerDb>().To<PlayerDb>();
    }
}
公共类绑定:NinjectModule
{
公共覆盖无效负载()
{
绑定()到();
绑定()到();
}
}
当我在VisualStudio重新启动后使用我的项目时(我想也可以使用IIS express),这是可以的。 但如果我再次开始调试应用程序,则会显示以下错误消息:

激活IPlayerDb时出错 没有匹配的绑定可用,并且类型不可自绑定。 激活路径: 2) 将依赖项IPlayerDb注入Logon类型的属性PlayerDb 1) 请求登录\u aspx Ninject.dll中出现“Ninject.ActivationException”类型的异常,但未在用户代码中处理该异常


那么,有什么问题吗。看来我都是手工做的。需要建议。

哦,好的,我不知道Web表单生命周期和依赖项解决方案。由于问题仅在调试时出现,并且声明缺少绑定,因此问题很可能仍然存在于将ninject集成到应用程序中的过程中。您很可能创建了多个内核,但没有以正确的方式初始化它(初始化=>创建绑定/加载模块)。否则就不可能有一个内核缺少
IPlayerDb
的绑定。当然我知道这里有一个问题。但我都是手工做的。所以手动是错误的,我发现了问题的核心:私有静态IKernel CreateKernel()并没有返回加载到我的应用程序中的所有dll