也许相关信息:我有一个我用.net 4.5构建的Web应用程序.我想部署到Azure的网站,但它只支持.net 4.0,所以我将项目降级为.net 4.0.它在本地运行时仍然有效.
当我发布到Azure时,我收到此错误:
无法加载文件或程序集"System.Net.Http"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
我尝试用nuget删除Web API并读取它,正如SO建议的另一个问题,但我仍然有同样的问题.
我试过关闭/打开VS,并清理/构建.
System.NET.HTTP.dll仅依赖于System.dll、System.Core.dll和mscorlib.dll。
确保部署包中有此 DLL (System.NET.HTTP.dll)(您可以进行 RDP 连接并检查部署文件夹)。使用引用的“复制到本地”属性,或将此 dll 包含在根级别的项目中,并在属性中设置类型“内容”。
据我所知,.NET 2.0 也支持 System.Net.Http.dll - 这可能会导致问题。因此,除上述之外,尝试设置引用属性“特定版本”= true