Microsoft WebAPI 要求 System.Net.Http,版本=4.0.0.0

Posted

技术标签:

【中文标题】Microsoft WebAPI 要求 System.Net.Http,版本=4.0.0.0【英文标题】:Microsoft WebAPI asks for System.Net.Http, Version=4.0.0.0 【发布时间】:2019-08-27 09:52:44 【问题描述】:

自从我将项目更新到 .net 4.8 后,我经常遇到运行时错误 (FileNotFoundException):

Die Datei oder Assembly "System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden。系统看死 angegebene Datei nicht finden。

错误是由以下行引发的:

WebApiConfig.Register(GlobalConfiguration.Configuration);

我该如何解决这个问题?我已经通过 NuGet 安装了最新的 System.Net.Http DLL 版本并在 web.config 中添加了一个连接:

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

这一切都没有帮助。

【问题讨论】:

修改配置文件后是否进行了干净的构建?我认为 .proj 文件中的版本是错误的。您可能需要编辑 proj 文件并更正。要找到正确的版本,请创建一个定义了 Http 的新简单项目。然后在新项目中打开 .proj 文件,并将 http 版本与旧项目进行比较。 【参考方案1】:

我在this 答案中找到了解决方案。我的 web.config 文件充满了强制性文件的重定向。我发现,我所有基于使用模板的其他项目都没有这些重定向。因此,我使用链接答案中描述的方法进行修复。

【讨论】:

以上是关于Microsoft WebAPI 要求 System.Net.Http,版本=4.0.0.0的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft.Net.Http 与 Microsoft.AspNet.WebApi.Client

在 WebApi 中需要 SSL?

Microsoft.AspNet.WebApi.Core 和过时的库

TFS 2018 Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException:找不到页面

控制台+Owin搭建WebAPI接口服务

win10远程桌面身份验证错误,要求的函数不受支持