Compartilhar via


DesignPackage classe

Uma classe estática que é usada para importar e exportar um pacote de design para e de um conjunto de sites.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Publishing.DesignPackage

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (em Microsoft.SharePoint.Publishing.dll)

Sintaxe

'Declaração
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class DesignPackage
'Uso
Não é necessário declarar uma instância de uma classe estática para acessar seus membros.
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public static class DesignPackage

Exemplos

O exemplo a seguir demonstra como exportar um pacote de design de um conjunto de sites de origem e instalá-lo em outro conjunto de sites.

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();
        }
    }
}

Segurança de thread

Os membros públicos estática (Shared no Visual Basic) desse tipo são seguros para thread. Nenhum membro de instância pode ser garantido como seguro para thread.

Ver também

Referência

DesignPackage membros

Microsoft.SharePoint.Publishing namespace