我创建了一个空的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/

10-11 04:09