Asp.net mvc 4 在使用NuGet进行大规模更新后,Ninject没有向我的控制器证明参数

Asp.net mvc 4 在使用NuGet进行大规模更新后,Ninject没有向我的控制器证明参数,asp.net-mvc-4,ninject,nuget,Asp.net Mvc 4,Ninject,Nuget,我有一个使用Ninject的MVC4项目。我只使用App_Start文件夹中提供的Ninject MVC3NinjectWebCommon.cs文件。我刚刚用NuGet执行了一次大规模依赖项更新,但没有意识到它可能会造成多大的麻烦。不知怎么的,它打破了我的九件套。在运行NuGet更新之前,Ninject将正确地创建我的控制器,并为它们提供所需的构造函数参数。现在,在更新之后,我得到以下错误: [MissingMethodException: No parameterless constructo

我有一个使用Ninject的MVC4项目。我只使用
App_Start
文件夹中提供的Ninject MVC3
NinjectWebCommon.cs
文件。我刚刚用NuGet执行了一次大规模依赖项更新,但没有意识到它可能会造成多大的麻烦。不知怎么的,它打破了我的九件套。在运行NuGet更新之前,Ninject将正确地创建我的控制器,并为它们提供所需的构造函数参数。现在,在更新之后,我得到以下错误:

[MissingMethodException: No parameterless constructor defined for this object.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +113
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +83
   System.Activator.CreateInstance(Type type) +6
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +110

[InvalidOperationException: An error occurred when trying to create a controller of type 'Portal.Web.Controllers.MatterController'. Make sure that the controller has a parameterless public constructor.]
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +247
   System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +438
   System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +226
   System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +326
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +157
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +88
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +50
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
不过,
NinjectWebCommon.cs
文件中的代码仍在执行。我可以在它上面放置断点,并观察它应用我的绑定。不过,我认为MVC在创建控制器时不再使用它


有人知道这次NuGet更新可能会破坏什么吗?

您是否在不知情的情况下更新到MVC5?我也意外地执行了那个更新,它破坏了SimpleInjector。哦,糟了,就是这样。谢谢我也没有考虑过NuGet管理MVC版本。我还没有投入任何精力来修复它,因为我回滚到了MVC4,所以我无法进一步帮助您。我也在尝试以某种方式回滚到MVC4。长寿命源代码管理。。