我正在尝试使用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文件
答案 0 :(得分:4)
我刚才遇到了同样的问题。查看App_Start\NinjectWebCommon.cs
它有代码来创建内核并注册服务,并且它会自动调用。将Global.asax.cs更改回默认代码(使用Application_Start()
而不是Ninjectery)。这让我错过了。