using System; using System.Threading.Tasks; using MassiveKnob.Model; using MassiveKnob.Settings; using MassiveKnob.View; using MassiveKnob.ViewModel; using SimpleInjector; namespace MassiveKnob { public static class Program { /// /// The main entry point for the application. /// [STAThread] public static void Main() { MainAsync().GetAwaiter().GetResult(); } private static async Task MainAsync() { var container = new Container(); container.Options.EnableAutoVerification = false; container.RegisterSingleton(); container.Register(); container.Register(); container.Register(); var settings = await SettingsJsonSerializer.Deserialize(); container.RegisterInstance(settings); var pluginManager = new PluginManager(); pluginManager.Load(); container.RegisterInstance(pluginManager); var app = container.GetInstance(); app.Run(); } } }