Compartir a través de


del método SPSolutionExporter.ExportWorkflowToList

Exporta la plantilla de flujo de trabajo especificada como una solución en una biblioteca de documentos.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Shared Function ExportWorkflowToList ( _
    web As SPWeb, _
    solutionFileName As String, _
    title As String, _
    description As String, _
    workflowTemplateName As String, _
    destinationListUrl As String _
) As String
'Uso
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
)

Parámetros

  • solutionFileName
    Tipo: System.String

    El nombre del archivo de solución que se va a crear.

  • description
    Tipo: System.String

    Información detallada que describe la solución.

  • workflowTemplateName
    Tipo: System.String

    El nombre de la plantilla de flujo de trabajo para exportar.

  • destinationListUrl
    Tipo: System.String

    Dirección URL relativa al servidor de la biblioteca de documentos en la que se debe crear el archivo de solución.

Valor devuelto

Tipo: System.String
La dirección URL del nuevo archivo de solución. Si no se pudo crear una solución, se devuelve una cadena vacía.

Comentarios

Este método intenta exportar el archivo de solución nuevo al destino especificado con el nombre de archivo especificado. Si un archivo con este nombre ya existe, a continuación, una serie de "Nombre de archivo-2.wsp", "Nombre de archivo-3.wsp" intento en un esfuerzo por encontrar un nombre de archivo único. Si se alcanza "FileName-1000.wsp" y un archivo con ese nombre ya existe, el método produce una excepción InvalidOperationException .

Ejemplos

En el siguiente ejemplo es una aplicación de consola que exporta una plantilla de flujo de trabajo a la lista de activos del sitio. La plantilla de flujo de trabajo que se usa en el código de ejemplo es "Flujo de trabajo de tarea". Debe sustituir el nombre de una plantilla de flujo de trabajo que se encuentra en el sitio antes de ejecutar el código.

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

Vea también

Referencia

clase SPSolutionExporter

Miembros SPSolutionExporter

Espacio de nombres Microsoft.SharePoint