我创建了一个空的Asp.Net MVC3项目,并使用了nuget install-package Ninject.MVC3
我不做任何其他事情(没有注册服务,甚至没有创建 Controller ),我运行该应用程序。
该项目在NinjectMVC3.cs中的第22行中断,但有以下异常(exception):
NinjectMVC3.cs中的行是:
public static void Start()
{
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestModule));
DynamicModuleUtility.RegisterModule(typeof(HttpApplicationInitializationModule));
bootstrapper.Initialize(CreateKernel); // <- this one right here...
}
这是怎么回事?我在其他项目中使用Ninject进行MVC3完全没有问题。我确实注意到,Ninject.MVC3的旧版(几周)软件包未包含Start()方法中的第二行,因此在最近的更新中是否还存在其他问题?
请帮忙!
编辑以解决Remo的回答
这是从我的global.asax.cs
public class MvcApplication : System.Web.HttpApplication
{
global.asax也是100%标准的。没有进行任何调整。
编辑-问题消失了...
老实说,我不知道是什么原因造成的,但是在Visual Studio重新启动几次并完全重新启动后,项目正在按预期方式工作。我也无法在新项目中重现该问题。
抱歉浪费您的时间:)
最佳答案
看看Setting up a MVC3-application
简而言之:
您的项目中可能有一个App_Start
文件夹,其中包含NinjectMVC3.cs
文件。
当结合使用NuGet软件包和修改Global.asax(没有理由)时,必须删除App_Start
文件夹,并删除对WebActivator和Microsoft.Web.Infrastructure的引用
关于c# - Ninject MVC3- bootstrap 引发 “Already Initialized”异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5910376/