[英]System.Net.Http - Could not load file or assembly, then Cannot load a reference assembly for execution
当我发布 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>
第一件事:
确保您的所有项目都指向相同版本的 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。
我通过从https://support.microsoft.com/en-us/help/4054531/microsoft-net-framework-4-7-2-web-installer-for-windows安装 .Net framework 4.7.2 解决了它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.