Partager via


SPSolutionExporter.ExportWorkflowToList - Méthode

Exporte le modèle de flux de travail spécifiée sous la forme d'une solution dans une bibliothèque de documents.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Shared Function ExportWorkflowToList ( _
    web As SPWeb, _
    solutionFileName As String, _
    title As String, _
    description As String, _
    workflowTemplateName As String, _
    destinationListUrl As String _
) As String
'Utilisation
Dim web As SPWeb
Dim solutionFileName As String
Dim title As String
Dim description As String
Dim workflowTemplateName As String
Dim destinationListUrl As String
Dim returnValue As String

returnValue = SPSolutionExporter.ExportWorkflowToList(web, _
    solutionFileName, title, description, _
    workflowTemplateName, destinationListUrl)
public static string ExportWorkflowToList(
    SPWeb web,
    string solutionFileName,
    string title,
    string description,
    string workflowTemplateName,
    string destinationListUrl
)

Paramètres

  • solutionFileName
    Type : System.String

    Le nom du fichier solution qui sera créé.

  • description
    Type : System.String

    Obtenir des informations détaillées décrivant la solution.

  • workflowTemplateName
    Type : System.String

    Le nom du modèle de flux de travail à exporter.

  • destinationListUrl
    Type : System.String

    L'URL relative de serveur de la bibliothèque de documents dans laquelle le fichier de solution doit être créé.

Valeur renvoyée

Type : System.String
L'URL du nouveau fichier de solution. Si une solution n'a pas pu être créée, une chaîne vide est renvoyée.

Remarques

Cette méthode tente d'exporter le nouveau fichier de solution vers la destination spécifiée en utilisant le nom de fichier spécifié. Si un fichier portant ce nom existe déjà, puis une série de « Nom de fichier-2.wsp », "3.wsp-FileName" tentatives dans le but de trouver un nom de fichier unique. Si « FileName-1000.wsp » est atteint et un fichier portant le même nom existe déjà, la méthode lève une exception InvalidOperationException .

Exemples

L'exemple suivant est une application console qui exporte un modèle de flux de travail à la liste d'éléments de Site. Le modèle de flux de travail utilisé dans l'exemple de code est « Tâche de flux de travail ». Vous devez remplacer le nom d'un modèle de flux de travail qui existe sur votre site avant d'exécuter le code.

using System;
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 solutionFileName = "Task Workflow.wsp";
                    string title = "Task Workflow";
                    string description = "This solution was created programmatically.";
                    string templateName = "Task Workflow";
                    string solutionFileUrl = string.Empty;

                    // Get the Site Assets list.
                    SPList catalog = site.GetCatalog(SPListTemplateType.DocumentLibrary);
                    string destinationListUrl = catalog.RootFolder.ServerRelativeUrl;

                    try
                    {
                        // Export the template to a list.
                        solutionFileUrl = SPSolutionExporter.ExportWorkflowToList(
                            web,
                            solutionFileName,
                            title,
                            description,
                            templateName,
                            destinationListUrl);
                    }
                    catch (SPException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }

                    // Get a reference to the solution package.
                    if (String.IsNullOrEmpty(solutionFileUrl))
                    {
                        Console.WriteLine("A solution was not created.");
                    }
                    else
                    {
                        // Get the solution file.
                        SPFile solutionFile = web.GetFile(solutionFileUrl);

                        // Print information about the solution file.
                        Console.WriteLine("Name: {0}", solutionFile.Name);
                        Console.WriteLine("Size: {0:n0} bytes", solutionFile.Length);
                    }
                }
            }
            Console.Write("\nPress ENTER to continue....");
            Console.ReadLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint

Module ConsoleApp

    Sub Main()

        Using site As New SPSite("https://localhost")
            Using web As SPWeb = site.RootWeb

                Dim solutionFileName As String = "Task Workflow.wsp"
                Dim title As String = "Task Workflow"
                Dim description As String = "This solution was created programmatically."
                Dim templateName As String = "Task Workflow"
                Dim solutionFileUrl As String = String.Empty

                ' Get the Site Assets list.
                Dim catalog As SPList = site.GetCatalog(SPListTemplateType.DocumentLibrary)
                Dim destinationListUrl As String = catalog.RootFolder.ServerRelativeUrl

                Try
                    ' Export the template to a list.
                    solutionFileUrl = SPSolutionExporter.ExportWorkflowToList( _
                        web, _
                        solutionFileName, _
                        title, _
                        description, _
                        templateName, _
                        destinationListUrl)
                Catch ex As SPException
                    Console.WriteLine(ex.Message)
                End Try

                ' Get a reference to the solution package.
                If String.IsNullOrEmpty(solutionFileUrl) Then
                    Console.WriteLine("A solution was not created.")
                Else
                    ' Get the solution file.
                    Dim solutionFile As SPFile = web.GetFile(solutionFileUrl)

                    ' Print information about the solution file.
                    Console.WriteLine("Name: {0}", solutionFile.Name)
                    Console.WriteLine("Size: {0:n0} bytes", solutionFile.Length)
                End If
            End Using
        End Using

        Console.Write(vbCrLf & "Press ENTER to continue....")
        Console.Read()
    End Sub

End Module

Voir aussi

Référence

SPSolutionExporter classe

SPSolutionExporter - Membres

Microsoft.SharePoint - Espace de noms