del método SPSolutionExporter.ExportWeb
Exporta el sitio Web especificado como una plantilla Web en un archivo de solución.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Shared Sub ExportWeb ( _
web As SPWeb, _
solutionFilePath As String, _
title As String, _
description As String, _
exportMode As SPSolutionExporter.ExportMode, _
includeContent As Boolean _
)
'Uso
Dim web As SPWeb
Dim solutionFilePath As String
Dim title As String
Dim description As String
Dim exportMode As SPSolutionExporter.ExportMode
Dim includeContent As BooleanSPSolutionExporter.ExportWeb(web, solutionFilePath, _
title, description, exportMode, includeContent)
public static void ExportWeb(
SPWeb web,
string solutionFilePath,
string title,
string description,
SPSolutionExporter.ExportMode exportMode,
bool includeContent
)
Parámetros
web
Tipo: Microsoft.SharePoint.SPWebSitio Web que se va a exportar.
solutionFilePath
Tipo: System.StringLa ruta de acceso, nombre de archivo y extensión de archivo de solución que se va a crear. Cuando se ejecuta el método, se quitan espacios de nombre de archivo, como otros caracteres no válidos. Si ya existe un archivo de solución (.wsp) con el mismo nombre en la ruta de acceso especificada, se sobrescribe.
title
Tipo: System.StringEl título de la plantilla Web. El valor pasado en este parámetro se utiliza como el valor del atributo Title en el elemento de proyecto de un archivo Onet.xml .
description
Tipo: System.StringInformación detallada que describe la plantilla Web. El valor pasado en este parámetro se utiliza como el valor del atributo Description en el elemento WebTemplate en un manifiesto de elemento y también para el valor del atributo Description en el elemento de proyecto de un archivo Onet.xml .
exportMode
Tipo: Microsoft.SharePoint.SPSolutionExporter.ExportModeEspecifica cuánto del sitio Web que se va a exportar. Pasar FullReuse si va a usar la plantilla Web dentro de la misma colección de sitios que el sitio Web exportado; de lo contrario, pase FullPortability.
includeContent
Tipo: System.Booleantrue para incluir el contenido de todas las listas y bibliotecas de documentos en el sitio Web; en caso contrario, false.
Comentarios
Puede usar este método para crear un paquete de solución que se puede importar en Microsoft Visual Studio 2010 para modificarlos. Para obtener más información, vea Importación de elementos de un sitio de SharePoint existente.
La solución que se crea por este método contiene algunas o todas las características enumeran en la siguiente tabla. Si el sitio Web no contiene los elementos que aprovisione, se omiten las características.
Nota
La plantilla de proyecto de Importación de paquete de solución de SharePoint en Visual Studio 2010 cambia la composición de algunas de las características en el archivo de solución. En concreto, crea un manifiesto de elemento independiente para cada tipo de contenido en lugar de mantener todo el contenido las definiciones de tipo en un único manifiesto.
Característica |
Ámbito |
Incluye |
---|---|---|
Plantilla web |
Site |
|
Instancias de listas |
Web |
|
Módulos |
Web |
|
Contenedor de propiedades |
Web |
|
Flujos de trabajo |
Web |
|
Acciones personalizadas |
Web |
Un manifiesto de elemento que contiene elementos CustomAction que definen las acciones personalizadas de ámbito Web y con ámbito de lista. |
Además, el manifiesto de solución define una dependencia de activación en cualquier otra solución de usuario que se ha activado para el sitio Web. Si existen dependencias de activación, se deben activar esas soluciones antes de que se activa la solución de plantilla Web.
Ejemplos
En el siguiente ejemplo es una aplicación de consola que obtiene una referencia a un sitio Web y se guarda como una solución de plantilla Web, crear el nuevo archivo de solución en el directorio de la aplicación. La aplicación obtiene una referencia al archivo e imprime información acerca de él en la consola.
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.RootWeb)
{
string solutionFile = "TestSite.wsp";
string solutionPath = AppDomain.CurrentDomain.BaseDirectory;
string solutionFilePath = SPSolutionExporter.PathCombine(solutionPath, solutionFile);
string templateTitle = "Test Template";
string templateDesc = "This template was saved programmatically.";
// Save the web as a template in a solution file.
SPSolutionExporter.ExportWeb(
web,
solutionFilePath,
templateTitle,
templateDesc,
SPSolutionExporter.ExportMode.FullPortability, // Include features that the site depends upon.
false // Do not include content.
);
// Print information about the file.
FileInfo solutionFileInfo = new FileInfo(solutionFilePath);
if (solutionFileInfo.Exists)
{
Console.WriteLine("File name: {0}", solutionFileInfo.Name);
Console.WriteLine("File size: {0:n0} KB", solutionFileInfo.Length / 1024);
}
}
}
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.RootWeb
Dim solutionFile As String = "TestSite.wsp"
Dim solutionPath As String = AppDomain.CurrentDomain.BaseDirectory
Dim solutionFilePath As String = SPSolutionExporter.PathCombine(solutionPath, solutionFile)
Dim templateTitle As String = "Test Template"
Dim templateDesc As String = "This template was saved programmatically."
' Save the web as a template in a solution file.
' Include features that the site depends upon.
' Do not include content.
SPSolutionExporter.ExportWeb(web, solutionFilePath, _
templateTitle, templateDesc, _
SPSolutionExporter.ExportMode.FullPortability, _
False)
' Print information about the file.
Dim solutionFileInfo As FileInfo = New FileInfo(solutionFilePath)
If solutionFileInfo.Exists Then
Console.WriteLine("File name: {0}", solutionFileInfo.Name)
Console.WriteLine("File size: {0:n0} KB", solutionFileInfo.Length / 1024)
End If
End Using
End Using
Console.Write(vbCrLf & "Press ENTER to continue....")
Console.Read()
End Sub
End Module
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint