Как скопировать список в другую коллекцию сайтов sharepoint сохраняя историю версий?

Рейтинг: 1Ответов: 1Опубликовано: 07.04.2015

На Sharepoint 2010 есть большой список (более 10к записей) с прикреплёнными файлами. Как правильно сделать такой же в новом семействе сайтов? Сейчас делаю через экспорт-импорт:

        SPList list = new SPSite("http://localhost/").OpenWeb("sourceSite").Lists["Список"];
        SPExportObject exportObject = new SPExportObject();
        exportObject.Id = list.ID;
        exportObject.Type = SPDeploymentObjectType.List;

        SPExportSettings exportSettings = new SPExportSettings();
        exportSettings.SiteUrl = "http://localhost/destSite";
        exportSettings.ExportMethod = SPExportMethodType.ExportAll;
        exportSettings.FileLocation = @"c:\export";
        exportSettings.FileCompression = false;
        exportSettings.ExportObjects.Add(exportObject);

        SPExport export = new SPExport(exportSettings);
        export.Run();

        SPImportSettings importSettings = new SPImportSettings();
        importSettings.SiteUrl = "http://localhost/destSite";
        importSettings.WebUrl = "http://localhost/destSite";
        importSettings.FileLocation = @"c:\export";
        importSettings.FileCompression = false;
        importSettings.RetainObjectIdentity = false;

        SPImport import = new SPImport(importSettings);
        import.Run();

Но это решение не сохраняет историю изменений объектов.

Ответы

▲ 2Принят

включить все версии:

exportSettings.IncludeVersions = SPIncludeVersions.All;