public App(IThemeChanger themeChanger) { InitializeComponent(); Theme = new ColorTheme(themeChanger); Theme.ApplyColorTheme(); if (Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Android) { var ci = DependencyService.Get <ILocalize>().GetCurrentCultureInfo(); AppResources.Culture = ci; DependencyService.Get <ILocalize>().SetLocale(ci); } var containerBuilder = new ContainerBuilder(); // Register data provider. Mock data provider is used in DebugMock build configuration #if DEBUGMOCK containerBuilder.RegisterType <MockDataProvider>().As(typeof(IDataProvider)).SingleInstance(); #else var firebaseConfigurationOptions = Options.Create <FirebaseConfiguration>(new FirebaseConfiguration() { Enabled = true }); containerBuilder.RegisterInstance(firebaseConfigurationOptions).As(typeof(IOptions <FirebaseConfiguration>)).SingleInstance(); containerBuilder.RegisterType <FirebaseDataProvider>().As(typeof(IDataProvider)).SingleInstance(); #endif containerBuilder.RegisterType <DatabaseManagementService>().As(typeof(IDatabaseManagementService)).SingleInstance(); // Register services containerBuilder.RegisterType <LocationDataService>().As(typeof(IDataService <Models.Location>)).SingleInstance(); containerBuilder.RegisterType <HistoryDataService>().As(typeof(IDataService <MeasurementHistory>)).SingleInstance(); containerBuilder.RegisterType <NavigationService>().As(typeof(INavigationService)).SingleInstance(); // Register view models containerBuilder.RegisterType <LocationListViewModel>().As(typeof(LocationListViewModel)).SingleInstance().AutoActivate(); containerBuilder.RegisterType <LocationGraphViewModel>().As(typeof(LocationGraphViewModel)).SingleInstance().AutoActivate(); containerBuilder.RegisterType <LocationDetailsViewModel>().As(typeof(LocationDetailsViewModel)).SingleInstance().AutoActivate(); containerBuilder.RegisterType <OptionsGeneralViewModel>().As(typeof(OptionsGeneralViewModel)).SingleInstance(); containerBuilder.RegisterType <OptionsSummaryViewModel>().As(typeof(OptionsSummaryViewModel)).SingleInstance(); containerBuilder.RegisterType <OptionsWidgetViewModel>().As(typeof(OptionsWidgetViewModel)).SingleInstance(); containerBuilder.RegisterType <AboutViewModel>().As(typeof(AboutViewModel)).SingleInstance(); var container = containerBuilder.Build(); //container.Resolve<LocationListViewModel>(); var dbManagementService = container.Resolve <IDatabaseManagementService>(); dbManagementService.SetDatabaseConfiguration(); AutofacServiceLocator asl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => asl); MainPage = new AppShell(); }