public static void EnsureConfigurationListForAnySite(SPSite site) { // Act ConfigurationList.EnsureConfigurationList(site); // Assert var rootWeb = site.RootWeb; var list = rootWeb.Lists[ConfigurationList.ConfigListName]; Assert.IsNotNull(list); }
/// <summary> /// Provisions the service locator settings, and ensures the list is created for storing configuration /// on the site collection root web. The service locator configuration is defined for the site level. /// </summary> /// <param name="properties">The properties for this configuration</param> public override void FeatureActivated(SPFeatureReceiverProperties properties) { string configListLocation = CentralSiteConfig.GetCentralConfigSiteUrl(); // Configuration List Deployment using (var centralSite = new SPSite(configListLocation)) { ConfigurationList.EnsureConfigurationList(centralSite); } var site = properties.Feature.Parent as SPSite; var slConfig = SharePointServiceLocator.GetCurrent(site).GetInstance <IServiceLocatorConfig>(); slConfig.Site = site; slConfig.RegisterTypeMapping <IConfigManager, ListBackedConfigManager>(); slConfig.RegisterTypeMapping <IHierarchicalConfig, ListBackedHierarchicalConfig>(); SharePointServiceLocator.Reset(); ConfigurationList.EnsureConfigurationList(site); // Add WP to new page and add to navigation AddWPToSiteNavigation(site.RootWeb, "listconfig.aspx", "List Configuration Test", wpXml, "left"); }