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.