using Avalonia; using MaddoShared; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace CatalogLite; internal static class Program { public static IServiceProvider ServiceProvider { get; private set; } = default!; [STAThread] public static int Main(string[] args) { var services = new ServiceCollection(); ConfigureServices(services); ServiceProvider = services.BuildServiceProvider(); BuildAvaloniaApp().StartWithClassicDesktopLifetime(args ?? []); return 0; } public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure() .UsePlatformDetect() .LogToTrace(); private static void ConfigureServices(IServiceCollection services) { services.AddSingleton(); services.AddSingleton(); services.AddTransient(); services.AddTransient(sp => sp.GetRequiredService()); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddLogging(builder => { builder.AddConsole(); builder.SetMinimumLevel(LogLevel.Information); }); } }