Поделиться через


Класс DesignPackage

Статический класс, который используется для импорта и экспорта пакетов разработки и из семейства веб-сайтов.

Иерархия наследования

System.Object
  Microsoft.SharePoint.Publishing.DesignPackage

Пространство имен:  Microsoft.SharePoint.Publishing
Сборка:  Microsoft.SharePoint.Publishing (в Microsoft.SharePoint.Publishing.dll)

Синтаксис

'Декларация
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class DesignPackage
'Применение
Нет необходимости объявлять экземпляр статического класса для доступа к его элементам.
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public static class DesignPackage

Примеры

Следующий пример демонстрирует для экспорта пакета разработки из исходного семейства веб-сайтов и установить его в другом семействе веб-сайтов.

using System.IO;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Publishing;

namespace PackagingSample
{
    class Program
    {
        const string srcSiteUrl = "http://<Server>/sites/<SourceSiteURL>";
        const string dstSiteUrl = "http://<Server>/sites/<DestinationSiteURL>";
        const string packageName = "MyPackage";     // null to use the default name

        static void Main(string[] args)
        {
            // Export a package from source site collection
            SPSite srcSite = new SPSite(srcSiteUrl);
            DesignPackageInfo info = DesignPackage.Export(srcSite, packageName, false);

            // The package is exported to the solution gallery with the name format <PackageName>-<MajorVersion>.<MinorVersion>
            string packageFileName = string.Format("{0}-{1}.{2}.wsp", info.PackageName, info.MajorVersion, info.MinorVersion);

            // Download the exported package from the solution gallery
            SPFile file = srcSite.RootWeb.GetFile(srcSiteUrl + "/_catalogs/solutions/" + packageFileName);
            using (Stream fileStream = file.OpenBinaryStream())
            {
                using (Stream packageFileStream = File.Create(@"C:\" + packageFileName))
                {
                    fileStream.CopyTo(packageFileStream);
                }
            }
            srcSite.Dispose();

            // Import the package into another site collection
            SPSite dstSite = new SPSite(dstSiteUrl);
            using (Stream fileStream = File.Open(@"C:\" + packageFileName, FileMode.Open))
            {
                SPFile packageFile = dstSite.RootWeb.GetFolder(dstSiteUrl + "/Documents").Files.Add(packageFileName, fileStream);
                DesignPackage.Install(dstSite, info, packageFile.Url);
                DesignPackage.Apply(dstSite, info);
            }
            dstSite.Dispose();
        }
    }
}

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы DesignPackage

Пространство имен Microsoft.SharePoint.Publishing