.Net 6 控制台应用程序:WebApplication.CreateBuilder 对比 Host.CreateDefaultBuilder

.Net 6 Console app: WebApplication.CreateBuilder vs Host.CreateDefaultBuilder

我正在研究 .NET 6,并希望构建一个简单的控制台应用程序,并进行一些依赖注入。

据我所知,已经做了很多工作来使启动(现在只是程序)文件更具可读性。 让我有点困惑的是,所有改进似乎都是针对 API 项目中使用的 WebApplication.CreateBuilderpart,而不是 Host.CreateDefaultBuilder。 如本文所述blog

Microsoft 自己的 docs,似乎也只提到 WebApplication。

对我来说,WebApplication 似乎只适用于 Web 项目,例如 API,我找不到任何可以证实 og 揭穿这一点的东西。

可以在控制台应用程序中使用 WebApplication,还是应该依赖 Host,并保留堆叠的 lambda 表达式?

WebApplication.CreateBuilderpart() 仅用于 web/api 应用程序,顾名思义 Host.CreateDefaultBuilder() 用于构建通用主机(没有 Web 服务、中间件等),您可以使用它来构建除了 webhost 之外的任何东西。

参见示例; https://docs.microsoft.com/en-us/dotnet/core/extensions/generic-host 没有改变。

目前构建控制台应用程序 and/or backgroundservices 确实感觉有点尴尬。