Asp.net web api 无法加载文件或程序集';System.Web.Http.WebHost,版本=5.0.0.0

Asp.net web api 无法加载文件或程序集';System.Web.Http.WebHost,版本=5.0.0.0,asp.net-web-api,ninject,Asp.net Web Api,Ninject,我在尝试将Ninject与Web API一起使用时遇到了一个可怕的错误。全文如下: 中发生类型为“System.IO.FileLoadException”的异常 Ninject.dll,但未在用户代码中处理 其他信息:无法加载文件或程序集 'System.Web.Http.WebHost,版本=5.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考资料。(来自HRESULT的异常:0x8013

我在尝试将Ninject与Web API一起使用时遇到了一个可怕的错误。全文如下:

中发生类型为“System.IO.FileLoadException”的异常 Ninject.dll,但未在用户代码中处理

其他信息:无法加载文件或程序集 'System.Web.Http.WebHost,版本=5.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考资料。(来自HRESULT的异常:0x8013100)

我尝试过重新安装几乎所有的东西,设置copy local=true,清理和重建,重新启动VS,删除suo,验证绑定重定向,等等。什么都没有

我不完全理解的一件事是,当错误显示它正在尝试加载5.0.0时,为什么所有内容都引用V5.2.3。可能是一个线索;我不知道。这是web.config的重定向。谢谢你的帮助

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>


您拥有的Microsoft.AspNet.WebApi.WebHost软件包的哪个版本,System.Web.Http.WebHost 5.2.3应该是5.2.3,System.Web.Http.WebHost 5.0.0应该是5.0.0。实际上是5.2.3。“Microsoft.AspNet.WebApi.Core”和“Microsoft.AspNet.WebApi.Client”也是5.2.3吗。当您的一个旧包/程序集正在查找webhost 5.0.0版时,可能会出现此错误。