The “correct” way to create a .NET Core console app without background services
Instead of a hosted service, I would recommend the following; using (var host = CreateHostBuilder(args).Build()) { await host.StartAsync(); var lifetime = host.Services.GetRequiredService<IHostApplicationLifetime>(); // do work here / get your work service … lifetime.StopApplication(); await host.WaitForShutdownAsync(); }