gpt4 book ai didi

asp.net - 无法在 MVC4 Web API 中加载文件或程序集“System.Net.Http,版本=2.0.0.0”

转载 作者:行者123 更新时间:2023-12-03 04:59:46 25 4
gpt4 key购买 nike

我有一个奇怪的问题。
我使用 MVC 4 和新的 Web API 开发了一个应用程序,它在本地运行良好。我在服务器上安装了 MVC4 并部署了应用程序。现在我收到以下错误:

Could not load file or assembly 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in

有趣的是,我本地的包文件夹或 ASP.NET MVC 4\Assemblies 文件夹中的 System.Net.Http 版本是 1.0.0.0。实际上,我从项目中删除了对 System.Net.Http 的引用,但我仍然收到相同的消息。我有点困惑它从哪里获取 2.0.0.0 引用以及为什么它可以在本地工作但不能在服务器上工作。

查看 nuget 依赖项:

ASP.NET WEb API 核心库(测试版)依赖于 System.Net.Http.Formatting。
并且 System.Net.Http.Formatting 依赖于 System.Net.Http。
我想这就是它的来源。但我确实安装了这个软件包的2.0.20126.16343版本,只是里面的dll有1.0.0.0版本

我错过了什么吗?

更新:

这是另一个 ASP.NET 应用程序的子应用程序,但另一个应用程序仍然基于 WebForms。所以,有些事情变得困惑了。但是,如果我在 web.config 中的程序集部分下进行清理,甚至找不到应用程序本身。

最佳答案

在 IIS 6.0 上部署之前转换的(从 .NET 4.5 到 4.0)Web 应用程序时,我遇到了相同的错误。

在 web.config 运行时部分我找到了

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

我已更改为

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

现在就像魅力一样。

关于asp.net - 无法在 MVC4 Web API 中加载文件或程序集“System.Net.Http,版本=2.0.0.0”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9431975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com