.net System.Web.Http 5.2.2中缺少DependencyResolver

.net System.Web.Http 5.2.2中缺少DependencyResolver,.net,asp.net-web-api,odata,ninject.web.mvc,.net,Asp.net Web Api,Odata,Ninject.web.mvc,我们的项目使用asp.NETWebAPI,我们的一部分要求是让用户通过Excel查看数据,我们想介绍OData提要 因此,我安装了oData软件包: <package id="Microsoft.AspNet.WebApi.OData" version="5.3.0" targetFramework="net45" /> 然后,我查看Ninject配置类,以查看以下行: GlobalConfiguration.Configuration.DependencyResolver = n

我们的项目使用asp.NETWebAPI,我们的一部分要求是让用户通过Excel查看数据,我们想介绍OData提要

因此,我安装了oData软件包:

<package id="Microsoft.AspNet.WebApi.OData" version="5.3.0" targetFramework="net45" />
然后,我查看Ninject配置类,以查看以下行:

GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel);
以红色显示“DependencyResolver”(即Resharper),并表示无法解析它。查看对象浏览器,我确实再也找不到它了

因此,基本上我将Microsoft.AspNet.WebApi从5.2.0升级到了5.2.2,并失去了DependencyResolver和与Ninject的兼容性


你知道解决这个问题的方法吗?

好的,看来我找到了解决办法

ninject和aspnet的5.2.2之间根本不是不兼容的

问题是,安装oData将一些AspNet包升级到5.2.2,但忘记了一些其他包。 当我将所有的Microsoft.AspNet.WebApi*软件包升级到5.2.2版本时,问题就消失了


我希望这仍然能帮助其他人…

很高兴听到我能帮助他们;-)
An exception of type 'System.IO.FileLoadException' occurred in Ninject.Web.Common.dll but was not handled in user code

Additional information: Could not load file or assembly 'System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel);