程序集清单与.NET Web API 2的绑定重定向不匹配

程序集清单与.NET Web API 2的绑定重定向不匹配,.net,visual-studio-2012,asp.net-web-api,asp.net-web-api2,.net,Visual Studio 2012,Asp.net Web Api,Asp.net Web Api2,我已经升级了一个从VisualStudio2012开始的MVC4和Web API项目,以使用Web API 2(NuGet package 5.0+) 我添加了程序集清单以重定向到较新的库,如下所示: <dependentAssembly> <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedire

我已经升级了一个从VisualStudio2012开始的MVC4和Web API项目,以使用Web API 2(NuGet package 5.0+)

我添加了程序集清单以重定向到较新的库,如下所示:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
有人能解释为什么由于清单不匹配而仍然存在程序集绑定问题吗?

解决了这个问题

显然,AutoFac试图使用较旧版本的System.Web.Http(4.0.0.0)。幸运的是,AutoFac的创建者最近发布了Web API 2的更新集成包:

升级到AutoFac.WebApi2并删除System.Net.Http.Formatting的绑定重定向(来自原始问题)后,一切都很好

Could not load file or assembly System.Net.Http.Formatting, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.