protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); Application.Current.DispatcherUnhandledException += (sender, args) => { MessageBox.Show(args.Exception.Message, "Error"); args.Handled = true; }; ContainerBuilder builder = new ContainerBuilder(); builder.RegisterModule<CoreModule>(); builder.RegisterModule<ViewsModule>(); builder.RegisterModule<DataAccessModule>(); builder.RegisterModule<PrismModule>(); builder.RegisterType<LayoutAnchorablePaneRegionAdapter>().AsSelf(); builder.RegisterType<LayoutDocumentPaneRegionAdapter>().AsSelf(); container = builder.Build(); ConfigureDefaultRegionBehaviors(); ConfigureRegionAdapterMappings(); container.RegisterAllFuncsAsOwned(); IServiceLocator serviceLocator = container.Resolve<IServiceLocator>(); ServiceLocator.SetLocatorProvider(() => serviceLocator); IAppController appController; using (ILifetimeScope scope = container.BeginLifetimeScope()) { appController = scope.Resolve<IAppController>(); } appController.Home(); }