IServiceProvider IShinyStartup.CreateServiceProvider(IServiceCollection services) { if (_container is null) { _container = CreateContainerExtension(); } var sp = _container.CreateServiceProvider(services); var moduleCatalog = _container.Resolve <IModuleCatalog>(); ConfigureModuleCatalog(moduleCatalog); if (moduleCatalog.Modules.Any() && moduleCatalog.HasStartupModules(out var startupModules)) { var moduleInitializer = _container.Resolve <IModuleInitializer>() as IShinyPrismModuleInitializer; moduleInitializer.LoadShinyModules(startupModules); } return(sp); }