IServiceCollection不包含AddHttpClient的定义

Ask*_*Ask 7 .net c# httpclient asp.net-core-2.0

我试图在我的.net核心2.0项目中使用HttpClient,为此我已经在我的控制器中注入了HttpClient.但是,当我尝试在我的startup.cs中配置httpclient时,我收到此错误:"IServiceCollection不包含AddHttpClient的定义".我已经引用了using Microsoft.AspNetCore.Http;,using Microsoft.Extensions.DependencyInjection;这就是我要做的事情:

services.AddHttpClient<TestController>();
Run Code Online (Sandbox Code Playgroud)

它在具有相同命名空间的其他项目中工作正常,但在这里我得到了错误.有帮助吗?

use*_*766 20

您需要安装:Microsoft.Extensions.Http nuget.

  • 确保为您的目标框架安装正确的版本。例如,如果您的目标是 .net core 3.1,那么您需要安装此软件包的 3.1.x 版本。否则,您可能会收到类似“System.Private.CoreLib:无法加载文件或程序集'Microsoft.Extensions.Logging.Abstractions,Version=XXXX”之类的错误 (3认同)
  • 我通过安装 Microsoft.Extensions.Http.Polly 解决了这个问题 (2认同)

Ask*_*Ask 3

啊啊,我已经找到解决办法了。我认为services.AddHttpClient与 .net core 2.1 一起工作。因此,我将 .net core 版本更新为 2.1,并将 microsoft 软件包更新为 2.1,然后它就开始工作了。

  • 我认为您混淆了 .NET Standard 和 .NET Core?Core 3.0 实施标准 2.1。请参阅表格:https://learn.microsoft.com/en-us/dotnet/standard/net-standard (2认同)