.NET › Generic Host
How does the Generic Host integrate configuration, logging, and dependency injection into a single unified builder?
IntermediateAnswer
HostApplicationBuilder (and its WebApplicationBuilder subclass) exposes .Configuration (an IConfigurationBuilder pre-populated with the standard providers), .Services (an IServiceCollection for DI registration), and .Logging (an ILoggingBuilder for configuring log providers) as properties on the same builder object -- letting you configure all three cross-cutting concerns in one linear, readable sequence before calling .Build() to produce the fully wired IHost, rather than juggling separate configuration objects or nested callback lambdas.
var builder = Host.CreateApplicationBuilder(args);
// All three configured through the same builder instance
builder.Configuration.AddJsonFile("custom-settings.json");
builder.Services.AddHostedService<Worker>();
builder.Logging.AddConsole().SetMinimumLevel(LogLevel.Debug);
var host = builder.Build();
host.Run();Real-world example A Worker Service's Program.cs reads clearly top-to-bottom -- configuration sources, then service registrations, then logging setup -- all through the same builder variable, making the entire application's cross-cutting setup visible in one place rather than scattered across multiple configuration methods.