private void ExtractLibraries(ProvisioningTemplate template, ProvisioningTemplateCreationInformation creationInformation, PnPMonitoredScope scope) { scope.LogInfo("ContentProvisioniningExtensibilityHandler.ExtractLibraries"); var libraries = template.Lists.Where(p => SupportedLibraryTemplateTypes.Contains(p.TemplateType)); foreach (var library in libraries) { scope.LogInfo(String.Format("ContentProvisioniningExtensibilityHandler.ExtractLibraries {0}", library.Url)); var splibrary = web.GetListByUrl(library.Url); var libraryFolder = splibrary.RootFolder; splibrary.EnsureProperty(p => p.RootFolder); var sourceFiles = GetFiles(libraryFolder); clientContext.ExecuteQueryRetry(); var formsPath = String.Format("{0}/Forms", libraryFolder.ServerRelativeUrl); var mPath = String.Format("{0}/_m/", libraryFolder.ServerRelativeUrl); var wPath = String.Format("{0}/_w/", libraryFolder.ServerRelativeUrl); var tPath = String.Format("{0}/_t/", libraryFolder.ServerRelativeUrl); sourceFiles = sourceFiles.Where(p => !p.ServerRelativeUrl.StartsWith(formsPath) && !p.ServerRelativeUrl.StartsWith(mPath) && !p.ServerRelativeUrl.StartsWith(wPath) && !p.ServerRelativeUrl.StartsWith(tPath) ); var featureTemplate = ProvisioningTemplate.GetPublishingFeatureBaseTemplate(); foreach (var sourceFile in sourceFiles) { if (!featureTemplate.IsFeatureNativeFile(sourceFile.Name)) { ExtractFile(sourceFile, template, creationInformation, scope); } } } }