public App() { DependencyEmbedder dependencyEmbedder = new DependencyEmbedder(); dependencyEmbedder.AddPackage("Newtonsoft.Json"); dependencyEmbedder.AddPackage("SharpDX.DirectInput"); dependencyEmbedder.AddPackage("SharpDX"); dependencyEmbedder.AddPackage("Hardcodet.Wpf.TaskbarNotification"); dependencyEmbedder.AddPackage("Nefarius.ViGEm.Client"); dependencyEmbedder.Initialize(); string exePath = Assembly.GetExecutingAssembly().Location; string cwd = Path.GetDirectoryName(exePath); Directory.SetCurrentDirectory(cwd); ApplicationContext globalContext = ApplicationContext.Global; globalContext.Resolvers.Add(Resolver.CreateSingleton(Dispatcher)); globalContext.AddFromConfiguration(typeof(ApplicationConfiguration)); globalContext.AddFromConfiguration(typeof(UI.UIConfiguration)); singleInstanceProvider = new SingleInstanceProvider(); argumentParser = globalContext.Resolve <ArgumentParser>(); #if !DEBUG Dispatcher.UnhandledException += async(object sender, DispatcherUnhandledExceptionEventArgs e) => await UnhandledException(e.Exception); #endif }
public void ConfigurationTest() { ApplicationContext context = new ApplicationContext(); context.AddFromConfiguration(typeof(Configuration)); int value = context.Resolve <int>(); Assert.AreEqual(5, value); }
private void Application_Startup(object sender, StartupEventArgs e) { ApplicationContext globalContext = ApplicationContext.Global; globalContext.Resolvers.Add(Resolver.CreateSingleton(Dispatcher)); globalContext.AddFromConfiguration(typeof(CoreConfiguration)); globalContext.AddFromConfiguration(typeof(ApiConfiguration)); globalContext.AddFromConfiguration(typeof(ApplicationConfiguration)); globalContext.AddFromConfiguration(typeof(UI.UIConfiguration)); var singleInstanceProvider = globalContext.Resolve <SingleInstanceProvider>(); var argumentParser = globalContext.Resolve <ArgumentParser>(); globalContext.Discover(); if (singleInstanceProvider.TryGetLock()) { singleInstanceProvider.StartNamedPipe(); try { var mainWindow = ApplicationContext.Global.Resolve <MainWindow>(); mainWindowViewModel = mainWindow.ViewModel; MainWindow = mainWindow; singleInstanceProvider.ShowEvent += mainWindow.ForceShow; if (!argumentParser.Minimized) { mainWindow.Show(); } #if !DEBUG ApplicationContext.Global.Resolve <Devices.Input.Mouse.MouseHook>().StartHook(); #endif } catch (Exception ex) { logger.Error(ex); Application.Current.Shutdown(); } } else { singleInstanceProvider.Notify(); Application.Current.Shutdown(); } }