解决:未能加载文件或程序集“System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

今天发布web API,调用接口报错了:未能加载文件或程序集“System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

代码没问题,找了一会,发现是Web.Config的问题。runtime缺少dependentAssembly。加上就好了~
 <dependentAssembly> <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" /> </dependentAssembly>


复盘:
  1. 发布没有更新Web.Config,报错需要比对一下Web.Config。
  2. 如果返回内部错误,可以加上<customErrors mode="Off"/>,查看具体的错误信息。
 <system.web> <customErrors mode="Off"/> </system.web>

 

相关文章