SPSolutionExporter.ExportWeb - Méthode
Exporte le site Web spécifié sous la forme d'un modèle Web dans un fichier de solution.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Shared Sub ExportWeb ( _
web As SPWeb, _
solutionFilePath As String, _
title As String, _
description As String, _
exportMode As SPSolutionExporter.ExportMode, _
includeContent As Boolean _
)
'Utilisation
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
)
Paramètres
web
Type : Microsoft.SharePoint.SPWebLe site Web à exporter.
solutionFilePath
Type : System.StringLe chemin d'accès, nom de fichier et l'extension du fichier solution qui sera créé. Lorsque la méthode s'exécute, les espaces sont supprimés du nom de fichier, comme les autres caractères non autorisés. Si un fichier de solution (.wsp) portant le même nom existe déjà sur le chemin d'accès spécifié, il est remplacé.
title
Type : System.StringTitre du modèle Web. La valeur passée dans ce paramètre est utilisée comme valeur de l'attribut Title dans l'élément de projet d'un fichier Onet.xml .
description
Type : System.StringObtenir des informations détaillées décrivant le modèle Web. La valeur passée dans ce paramètre est utilisée comme valeur de l'attribut Description dans l'élément WebTemplate dans un manifeste d'élément, ainsi que pour la valeur de l'attribut Description dans l'élément de projet d'un fichier Onet.xml .
exportMode
Type : Microsoft.SharePoint.SPSolutionExporter.ExportModeSpécifie la quantité du site Web à exporter. Transmettez FullReuse si vous avez l'intention d'utiliser le modèle Web au sein de la même collection de sites que le site Web exporté ; dans le cas contraire, transmettez FullPortability.
includeContent
Type : System.Booleantrue pour inclure le contenu de toutes les listes et bibliothèques de documents dans le site Web ; dans le cas contraire false.
Remarques
Vous pouvez utiliser cette méthode pour créer un package de solution que vous pouvez importer dans Microsoft Visual Studio 2010 pour modification. Pour plus d'informations, reportez-vous à la section Importation d'éléments à partir d'un SharePoint Site existant.
La solution créée par cette méthode contient certaines ou toutes les fonctionnalités répertoriées dans le tableau suivant. Fonctionnalités sont tous deux omises si le site Web ne contient pas les éléments qu'ils mettre en service.
Notes
Le modèle de projet de Package de Solution SharePoint Import dans Visual Studio 2010 modifie la composition de certaines fonctionnalités dans le fichier de solution. En particulier, il crée un manifeste d'élément distinct pour chaque type de contenu au lieu de définitions de type en conservant tout le contenu dans un seul manifeste.
Fonctionnalité |
Portée |
Contenu |
---|---|---|
Modèle Web |
Site |
|
Instances de liste |
Web |
|
Modules |
Web |
|
Conteneur des propriétés |
Web |
|
Flux de travail |
Web |
|
actions personnalisées ; |
Web |
Un manifeste d'élément qui contient les éléments CustomAction qui définissent les actions personnalisées relatives aux applications Web et d'étendue de liste. |
En outre, le manifeste de solution définit une dépendance d'activation après toute autre solution d'utilisateur qui est activée pour le site Web. S'il existent de dépendances d'activation, ces solutions doivent être activées avant l'activation de la solution de modèle Web.
Exemples
L'exemple suivant est une application console qui obtient une référence à un site Web et l'enregistre en tant qu'une solution de modèle Web, créez le nouveau fichier de solution dans le répertoire de l'application. Ensuite, l'application obtient une référence au fichier et imprime ses informations sur la 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.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
Voir aussi
Référence
Microsoft.SharePoint - Espace de noms