Asp.net mvc 4 未找到NinjectHttpApplication.cs

Asp.net mvc 4 未找到NinjectHttpApplication.cs,asp.net-mvc-4,ninject,Asp.net Mvc 4,Ninject,我正在尝试使用MVC4和Ninject创建一个简单的“Hello World” 我以下是: 我使用的是MVC4和Visual Studio 2012 Web Express,我使用以下软件安装了Nuget软件包: Install-package Ninject Install-package Ninject.MVC3 我有以下global.aspx: public class MvcApplication : Ninject.Web.Common.NinjectHttpApplication

我正在尝试使用MVC4和Ninject创建一个简单的“Hello World”

我以下是:

我使用的是MVC4和Visual Studio 2012 Web Express,我使用以下软件安装了Nuget软件包:

Install-package Ninject
Install-package Ninject.MVC3
我有以下global.aspx:

public class MvcApplication : Ninject.Web.Common.NinjectHttpApplication
{
    protected override Ninject.IKernel CreateKernel()
    {
        IKernel kernal = new StandardKernel();
        kernal.Load(Assembly.GetExecutingAssembly());
        kernal.Bind<IMessageService>().To<MessageService>();
        return kernal;
    }

    protected override void OnApplicationStarted()
    {
        AreaRegistration.RegisterAllAreas();

        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        AuthConfig.RegisterAuth();
    }
}
public类mvcapapplication:Ninject.Web.Common.NinjectHttpApplication
{
受保护的重写Ninject.IKernel CreateKernel()
{
IKernel kernal=新标准内核();
Load(Assembly.getExecutionGassembly());
内核绑定()到();
返回核;
}
Application Started()上受保护的覆盖无效
{
RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
}
}
当我运行这个程序时,我发现抛出了一个异常:序列不包含任何元素,VS试图打开文件NinjectHttpApplication.cs进行调试。但是VS找不到它

知道这是怎么回事吗

谢谢

戴夫

更新


我刚刚尝试了中给出的解决方案,即将注册绑定移动到App_Start中的文件,该文件是我文件夹中的NinjectWebCommon.cs,那里没有NinjectMVC3.cs文件。

我刚才遇到了同样的问题。查看
App\u Start\NinjectWebCommon.cs
它有创建内核和注册服务的代码,并且它是自动调用的。将Global.asax.cs更改回默认代码(使用
Application\u Start()
且不使用ninject)。这让我克服了这个错误。

看起来这个问题和答案可能有帮助吗@Mojo我看到了一个,我刚刚尝试将注册移动到NinjectWebCommon.cs文件,结果是一样的。就是说,我删除了绑定,但没有完全还原文件。谢谢