using System; using System.Windows; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Wabbajack.Common; using Wabbajack; using Wabbajack.Services.OSIntegrated; using Wabbajack.Util; namespace Wabbajack { /// /// Interaction logic for App.xaml /// public partial class App { private readonly IServiceProvider _serviceProvider; public App() { var services = new ServiceCollection(); var host = Host.CreateDefaultBuilder(Array.Empty()) //.ConfigureLogging(c => { c.ClearProviders(); }) .ConfigureServices((host, services) => { ConfigureServices(services); }).Build(); _serviceProvider = host.Services; } private IServiceCollection ConfigureServices(IServiceCollection services) { services.AddOSIntegrated(); services.AddTransient(); services.AddTransient(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); return services; } private void OnStartup(object sender, StartupEventArgs e) { var mainWindow = _serviceProvider.GetRequiredService(); mainWindow!.Show(); } } }