Joh*_*ohn 6 .net-core .net-6.0
我有一些来自 Web 应用程序的代码,用于将 http 客户端配置为使用证书。我依靠IHttpClientBuilder
和AddHttpClient
。
我想使用相同的方法在控制台应用程序中进行测试,但我什至很难让这些类型在那里可用。
这里的文档说我可以Microsoft.Extensions.Hosting
在控制台应用程序中使用(它用于初始化配置),但即使这个包应该依赖于Microsoft.Extensions.DependencyInjection
上面的类型和方法应该存在的地方,编译器告诉我这些类型是未知的。
控制台应用程序是使用 .NET 6.0 全新创建的,其唯一的包引用位于Microsoft.Extensions.Hosting
6.0.1。为什么不给我IHttpClientBuilder
?
编辑:
后
dotnet new console
dotnet add package Microsoft.Extensions.Hosting
Run Code Online (Sandbox Code Playgroud)
仅编辑Program.cs
至
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
var host = Host.CreateDefaultBuilder(args);
host.ConfigureServices(services =>
{
services.AddHttpClient(); // not found
});
Run Code Online (Sandbox Code Playgroud)
发现IHttpClientBuilder
朋友仍然不在那儿。
小智 17
Microsoft.Extensions.Http
除了 . 之外,您还需要添加对包的引用Microsoft.Extensions.DependencyInjection
。
我遇到了完全相同的问题,并且我阅读的微软文档没有明确提到这一点。当我阅读这篇博文时,这一点变得显而易见:Adam Storr 的《在 .NET 5.0 中使用 HttpClient 调用 REST API 的简单示例》。作者在其中添加了这两个包。
在重新查看 的文档时HttpClientFactoryServiceCollectionExtensions
,我注意到在“定义”标题下,命名空间是 ,Microsoft.Extensions.DependencyInjection
但程序集是Microsoft.Extensions.Http.dll
。
归档时间: |
|
查看次数: |
4304 次 |
最近记录: |