System.Net.Http-无法加载文件或程序集,然后无法加载参考程序集以执行

时间:2018-08-08 13:02:09

标签: c# .net

当我发布一个csproj时,我收到消息:

无法加载文件或程序集System.Net.Http

如果将其添加到项目中并重新发布,则会收到消息:

[BadImageFormatException:无法加载参考程序集以执行。] [BadImageFormatException:无法加载文件或程序集'System.Net.Http'

所以就像catch-22

这是我的web.config的system.web

  <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.7.2" />
    <httpRuntime targetFramework="4.6" />
  </system.web>

2 个答案:

答案 0 :(得分:2)

第一件事:

确保所有项目都指向同一版本的System.Net.Http,可以在编译后通过检查bin文件夹来手动进行验证。只要确保这些DLL是相同的版本即可。

然后 确保您所有的App.Config / Web.Config都具有绑定重定向

<dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

最后确保您不会意外发布具有64位可执行文件的32位DLL。这也会导致BadImageFormatException

检查您的项目设置以确保您定位到正确的环境,然后检查依赖项以确保它们不会意外拉/发布错误的DLL。

答案 1 :(得分:0)