Asp.net mvc 4 如何停止Ninject for WebApi出现故障;var kernel=新的标准内核()&引用;

Asp.net mvc 4 如何停止Ninject for WebApi出现故障;var kernel=新的标准内核()&引用;,asp.net-mvc-4,asp.net-web-api,ninject,Asp.net Mvc 4,Asp.net Web Api,Ninject,我刚刚将Ninject.MVC5安装到了我的解决方案中(我有一个MVC项目和一个WebApi项目,我想让Ninject同时使用) 然后,我安装了WebApiContrib.IoC.Ninject,以在上一次安装的基础上进行构建,以便在WebApi包中使用Ninject 然后我更新了软件包(因为NuGet显示了要安装的更新,尽管我在安装Ninject之前已经直接更新了软件包) 我尝试运行我的WebApi项目,但在var kernel=new StandardKernel()上失败了出现以下错误:

我刚刚将Ninject.MVC5安装到了我的解决方案中(我有一个MVC项目和一个WebApi项目,我想让Ninject同时使用)

然后,我安装了WebApiContrib.IoC.Ninject,以在上一次安装的基础上进行构建,以便在WebApi包中使用Ninject

然后我更新了软件包(因为NuGet显示了要安装的更新,尽管我在安装Ninject之前已经直接更新了软件包)

我尝试运行我的WebApi项目,但在
var kernel=new StandardKernel()上失败了NinjectWebCommon.CreateKernel()
中的code>出现以下错误:

An exception of type 'System.IO.FileNotFoundException' occurred in Ninject.dll but was not handled in user code

Additional information: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

在阅读了这里的几个答案并考虑了某些相对复杂的解决方案后,我又尝试了一件事,我将在答案中分享,以防它对其他人有所帮助……

我将WebApiContrib.IoC.Ninject从WebApi项目中删除(通过NuGet:Manage,然后取消勾选以删除),然后将其重新添加

项目按预期运行和行为,在将WebApiContrib.IoC.Ninject添加回WebApi项目后,无需更新


NuGet标识为必需的更新重写/破坏了此答案修复的内容。

从NuGet添加包Microsoft.Aspnet.Mvc

为我解决

在我的例子中,MVC4用于Framework 4.0和Visual Studio 2017