public void Setup() { kernel = new StandardKernel(); kernel.Components.Remove <IMissingBindingResolver, SelfBindingResolver>(); manager = new ConventionBindingManager(kernel, new[] { typeof(Areas.TestArea1.Anchor).Assembly, typeof(Areas.TestArea1.Contracts.Anchor).Assembly }); manager.BindAssembliesByConvention(); }
protected override void OnStartup(object sender, StartupEventArgs e) { base.OnStartup(sender, e); HandleExceptions(() => { kernel.Bind <IWindowManager>().To <WindowManager>().InSingletonScope(); var kernelConfig = KernelConfig.EnableFor(kernel); kernel.Bind <IKernelConfig>().ToConstant(kernelConfig); IMessageBus messageBus = new MessageBus(); kernel.Bind <IMessageBus>().ToConstant(messageBus); kernelConfig.AddPostInitializeActivations( (context, reference) => { if (reference.Instance is IHandle) { messageBus.Subscribe(reference.Instance); } }, (context, reference) => { if (reference.Instance is IHandle) { messageBus.Unsubscribe(reference.Instance); } }); var conventionBindingManager = new ConventionBindingManager( kernel, new[] { this.GetType().Assembly }.Concat(pluginManager.PluginAssemblies).ToArray()); conventionBindingManager.BindAssembliesByConvention(); var persistentDataManager = kernel.Get <PersistenceEnabler>(); persistentDataManager.SetupPersistenceActivation(); var logger = GetLogger(); var backupManager = kernel.Get <BackupManager>(); var userSettings = kernel.Get <DataBackupUserSettings>(); if (userSettings.CreateNewBackupRequested) { backupManager.CreateDataBackup(); userSettings.CreateNewBackupRequested = false; userSettings.Save(); } if (TryRestoreDataBackupIfRequested(backupManager, userSettings, logger)) { // For the persistence systems to properly initialize, restart is required. RestartCurrentApp(); return; } backupManager.CreateTodaysDataBackupIfNotExists(); backupManager.TrimOldDataBackups(userSettings.BackupRetentionTreshhold); backupManager.LockRestoreDataBackupForThisSession(); var appMigrationsManager = kernel.Get <IAppMigrationsManager>(); appMigrationsManager.RunMigrations(); var featureManager = kernel.Get <IFeaturesManager>(); featureManager.InitFeaturesAsync(); DisplayRootViewFor <MainViewModel>(); var appManager = kernel.Get <AppRuntimeManager>(); appManager.ExecuteAfterStartupSteps(); foreach (var dllLoadError in pluginManager.DllLoadErrors) { logger.Error(dllLoadError.Exception, "Failed to load plugin DLL: " + dllLoadError.DllFileName); } System.Windows.Forms.Application.ThreadException += ApplicationOnThreadException; }); }