SPSolutionExporter.ExportWebToGallery method (SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)
Exporta o site da Web especificado como um modelo da Web na Galeria de soluções.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Shared Function ExportWebToGallery ( _
web As SPWeb, _
solutionFileName As String, _
title As String, _
description As String, _
exportMode As SPSolutionExporter.ExportMode, _
includeContent As Boolean _
) As String
'Uso
Dim web As SPWeb
Dim solutionFileName As String
Dim title As String
Dim description As String
Dim exportMode As SPSolutionExporter.ExportMode
Dim includeContent As Boolean
Dim returnValue As String
returnValue = SPSolutionExporter.ExportWebToGallery(web, _
solutionFileName, title, description, _
exportMode, includeContent)
public static string ExportWebToGallery(
SPWeb web,
string solutionFileName,
string title,
string description,
SPSolutionExporter.ExportMode exportMode,
bool includeContent
)
Parâmetros
web
Type: Microsoft.SharePoint.SPWebO site a ser exportado.
solutionFileName
Type: System.StringO nome do arquivo de solução (WSP).
title
Type: System.StringO título do modelo da Web. O valor passado neste parâmetro é usado como o valor do atributo Title no elemento de projeto de um arquivo onet. XML .
description
Type: System.StringInformações detalhadas que descreve o modelo da Web. O valor passado neste parâmetro é usado como o valor do atributo Description no elemento WebTemplate em um manifesto do elemento e também para o valor do atributo Description no elemento de projeto de um arquivo onet. XML .
Os usuários vêem a descrição, quando eles escolha Novo Site no menu Ações do Site e, em seguida, selecione o modelo.
exportMode
Type: Microsoft.SharePoint.SPSolutionExporter.ExportModeEspecifica quanto do site da Web a ser exportado. Passar FullReuse se você pretende usar o modelo da Web dentro do mesmo conjunto de sites como o site exportado; Caso contrário, passe FullPortability.
includeContent
Type: System.Booleantrue para incluir o conteúdo de todas as listas e bibliotecas de documentos no site da Web; Caso contrário false.
Valor retornado
Type: System.String
Uma cadeia de caracteres que contém a URL do novo arquivo de solução na Galeria de soluções. Se uma solução não pôde ser criada, uma sequência vazia será retornada.
Comentários
Esse método tenta copiar o novo arquivo de solução para a Galeria de soluções usando o nome de arquivo especificado. Se um arquivo com esse nome já existir, em seguida, uma série de "FileName-2.wsp", "3.wsp-FileName" tentativas são feitas em um esforço para localizar um nome de arquivo exclusivo. Se "FileName-1000.wsp" for atingido e um arquivo com esse nome já existe na galeria, o método gera uma exceção de InvalidOperationException .
O método cria uma solução que contém alguns ou todos os recursos listados na tabela a seguir. Recursos forem omitidos se o site não contém os elementos que eles provisionar.
Recurso |
Escopo |
Inclui |
---|---|---|
Modelo da Web |
Site |
|
Instâncias de lista |
Web |
|
Módulos |
Web |
|
Recipiente de propriedades |
Web |
|
Fluxos de Trabalho |
Web |
|
Ações personalizadas |
Web |
Um manifesto do elemento que contém os elementos de CustomAction que definem o escopo da Web e o escopo de lista de ações personalizadas. |
Examples
O exemplo a seguir é um aplicativo de console que obtém uma referência a um site da Web e chame o método ExportWebToGallery para salvar o site da Web como uma solução de modelo da Web na Galeria de soluções. Após exportar a solução, o aplicativo chama o método GetAvailableWebTemplates para recuperar o novo modelo e imprime seu título no console.
using System;
using System.IO;
using System.Linq;
using Microsoft.SharePoint;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb("Child"))
{
string solutionFileName = "Test Site.wsp"; // If this name exists, a number is appended.
string templateTitle = String.Format("{0} Web Template", web.Title);
string templateDesc = "This template was saved programmatically.";
// Save the web as a solution in the Solutions Gallery.
string solutionFileUrl = SPSolutionExporter.ExportWebToGallery(
web,
solutionFileName,
templateTitle,
templateDesc,
SPSolutionExporter.ExportMode.FullReuse,
false // Do not include content.
);
if (!String.IsNullOrEmpty(solutionFileUrl))
{
// The solution file name might have changed, so get it from the Url.
string newFileName = Path.GetFileNameWithoutExtension(solutionFileUrl);
// Get the Web template.
SPWebTemplate template = web
.GetAvailableWebTemplates(web.Language)
.Cast<SPWebTemplate>()
.FirstOrDefault(t => t.Title == newFileName);
if (template != null)
{
// Print information about the Web template.
Console.WriteLine("Template Title: {0}", template.Title);
}
}
}
}
Console.Write("\nPress ENTER to continue....");
Console.ReadLine();
}
}
}
Imports System
Imports System.IO
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb("Child")
' If this name exists, a number is appended.
Dim solutionFileName As String = "Test Site.wsp"
Dim templateTitle As String = String.Format("{0} Web Template", web.Title)
Dim templateDesc As String = "This template was saved programmatically."
' Save the web as a solution in the Solutions Gallery.
Dim solutionFileUrl As String = SPSolutionExporter.ExportWebToGallery(web, _
solutionFileName, _
templateTitle, _
templateDesc, _
SPSolutionExporter.ExportMode.FullReuse, _
False)
If Not String.IsNullOrEmpty(solutionFileUrl) Then
' The solution file name might have changed, so get it from the Url.
Dim newFileName As String = Path.GetFileNameWithoutExtension(solutionFileUrl)
' Get the Web template.
Dim template As SPWebTemplate = _
web.GetAvailableWebTemplates(web.Language).Cast(Of SPWebTemplate)().FirstOrDefault(Function(t) t.Title = newFileName)
If template IsNot Nothing Then
' Print information about the Web template.
Console.WriteLine("Template Title: {0}", template.Title)
End If
End If
End Using
End Using
Console.Write(vbCrLf & "Press ENTER to continue....")
Console.Read()
End Sub
End Module
Ver também
Referência
Microsoft.SharePoint namespace