using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using OI.Metrology.Console.Models; namespace OI.Metrology.Console; internal class Program { public static void Main(string[] args) { #pragma warning disable IL3050 HostApplicationBuilder builder = Host.CreateApplicationBuilder(args); #pragma warning restore IL3050 _ = builder.Configuration.AddEnvironmentVariables(); _ = builder.Configuration.AddUserSecrets<Program>(); _ = builder.Services.AddSingleton(args.ToList()); AppSettings appSettings = Models.Binder.AppSettings.Get(builder.Configuration); _ = builder.Services.AddSingleton(appSettings); _ = builder.Services.AddHostedService<Worker>(); using IHost host = builder.Build(); ILogger<Program> logger = host.Services.GetRequiredService<ILogger<Program>>(); logger.LogCritical("{appSettings.Company}", appSettings.Company); host.Run(); } }