Freigeben über


SPSolutionExporter.ExportWebToGallery-Methode (SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)

Exportiert die angegebene Website als Webvorlage im Lösungskatalog.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
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
'Usage
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
)

Parameter

  • solutionFileName
    Typ: System.String

    Der Name der Lösungsdatei (WSP-Datei).

  • title
    Typ: System.String

    Der Titel der Websitevorlage. Der in diesem Parameter übergebene Wert ist als der Wert des Attributs Title im Project -Element eine Datei Onet.xml verwendet.

  • description
    Typ: System.String

    Ausführliche Informationen, die die Webvorlage beschreibt. Der in diesem Parameter übergebene Wert ist als der Wert des Attributs Description in das WebTemplate -Element in einem Elementmanifest und auch für den Wert des Attributs Description im Project -Element eine Datei Onet.xml verwendet.

    Benutzer sehen die Beschreibung, wenn sie Neue Website Wählen Sie im Menü Websiteaktionen, und wählen Sie dann die Vorlage aus.

  • exportMode
    Typ: Microsoft.SharePoint.SPSolutionExporter.ExportMode

    Gibt an, wie viel der Website exportieren. Übergeben Sie FullReuse , wenn die Webvorlage innerhalb der gleichen Websitesammlung befindet wie die exportierte Website verwendet werden sollen. übergeben Sie andernfalls FullPortability.

  • includeContent
    Typ: System.Boolean

    true die Inhalte aller Listen und Dokumentbibliotheken in der Website enthalten; andernfalls false.

Rückgabewert

Typ: System.String
Eine Zeichenfolge mit der URL der Datei der neuen Lösung im Lösungskatalog. Wenn eine Lösung nicht erstellt werden konnte, wird eine leere Zeichenfolge zurückgegeben.

Hinweise

Diese Methode versucht, kopieren Sie die neue Lösungsdatei in den Lösungskatalog mit dem angegebenen Dateinamen. Wenn bereits eine Datei mit diesem Namen, klicken Sie dann eine Reihe von "FileName-2.wsp" vorhanden sind "FileName-3.wsp" in einführen, um einen eindeutigen Dateinamen suchen versucht. Wenn "FileName-1000.wsp" erreicht ist, und eine Datei mit diesem Namen im Katalog bereits vorhanden ist, löst die Methode eine Ausnahme InvalidOperationException .

Die Methode erstellt eine Lösung, die enthält einige oder alle Features, die in der folgenden Tabelle aufgelistet. Features werden ausgelassen, wenn die Website keine Elemente enthält, die sie bereitstellen.

Funktion

Geltungsbereich

Inhalt

Webvorlage

Site

  • Ein Elementmanifest, die ein WebTemplate -Element enthält.

  • Eine Datei Onet.xml , die Konfiguration der Website enthält.

  • Eine Ressourcendatei für die Sprache für die Standardsprache der Website. Die Datei enthält Zeichenfolgen, die aus SPUserResource Objekte wie die TitleResource , die den Anzeigetext für den Titel der Website Ablage exportiert.

Listeninstanzen

Web

  • Ein Elementmanifest für jede Liste oder Dokumentbibliothek in der Website. Das Manifest enthält ein ListInstance -Element, das die Instanz definiert.

  • Eine Datei Schema.xml für jede Liste oder Bibliothek.

  • Ein einzelnes Element-Manifest, das Field -Elemente enthält, die alle Felder verwendet für Listen und Bibliotheken zu definieren.

  • Ein einzelnes Element-Manifest, das ContentType -Elemente enthält, die alle Inhaltstypen verwendet für Listen und Bibliotheken zu definieren.

  • Eine Ressourcendatei für die Sprache für die Standardsprache der Website.

Module

Web

  • Eine oder mehrere Element-Manifeste mit ein Module -Element, Bestimmungen Formulare, benutzerdefinierte Seiten, Dokumentvorlagen und andere Dateien, die von der Website verwendet.

  • Eine Ressourcendatei für die Sprache für die Standardsprache der Website.

Eigenschaftenbehälter

Web

  • Ein einzelnes Element-Manifest, das eine Anzahl von PropertyBag-Elemente enthält, die Konfigurationsdaten und andere beibehaltenen Einstellungen auf der Website verwendeten definieren.

  • Eine Ressourcendatei für die Sprache für die Standardsprache der Website.

Workflows

Web

  • Ein Elementmanifest, die WorkflowAssociation-Elemente enthält, die in Listen auf der Website Workflowzuordnungen definieren.

  • Eine Ressourcendatei für die Sprache für die Standardsprache der Website.

Benutzerdefinierte Aktionen

Web

Ein Elementmanifest, das CustomAction -Elemente enthält, die mit Web-Bereich und den Listenbereich benutzerdefinierte Aktionen zu definieren.

Beispiele

Im folgende Beispiel wird eine Konsolenanwendung, die Ruft einen Verweis auf eine Website und die ExportWebToGallery -Methode zum Speichern der Website als Vorlage Web Lösung im Lösungskatalog. Nach dem Exportieren der Lösung, die Anwendung ruft die GetAvailableWebTemplates -Methode zum Abrufen der neuen Vorlage und druckt den Titel in der Konsole angezeigt.

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

Siehe auch

Referenz

SPSolutionExporter Klasse

SPSolutionExporter-Member

ExportWebToGallery-Überladung

Microsoft.SharePoint-Namespace

SaveAsTemplate

Weitere Ressourcen

Site Types: WebTemplates and Site Definitions

Web Templates