找不到NinjectHttpApplication.cs

时间:2013-01-23 21:41:25

标签: asp.net-mvc-4 ninject

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

我正在关注:this tutorial

我正在使用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();
    }
}

当我运行它时,我发现抛出异常: Sequence不包含任何元素,VS尝试打开NinjectHttpApplication.cs文件进行调试。 VS虽然无法找到它。

知道这里发生了什么吗?

由于

戴夫

更新

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

1 个答案:

答案 0 :(得分:4)

我刚才遇到了同样的问题。查看App_Start\NinjectWebCommon.cs它有代码来创建内核并注册服务,并且它会自动调用。将Global.asax.cs更改回默认代码(使用Application_Start()而不是Ninjectery)。这让我错过了。