Share via


Cómo compilar flujos de trabajo

Puede construir los flujos de trabajo de tres maneras:

  • Usando declarativamente marcado de flujo de trabajo en un archivo de marcado de flujo de trabajo que tenga la extensión de nombre de archivo .xml. Este archivo de flujo de trabajo se puede compilar entonces con el compilador de flujo de trabajo o se puede pasar al motor de tiempo de ejecución de flujo de trabajo a través de una aplicación host sin compilarse. Esto se conoce como creación del flujo de trabajo sin código. Para obtener más información, vea Uso del marcado de flujo de trabajo. El archivo que se crea tiene la extensión de archivo .xoml.

  • El archivo de marcado se puede usar para declarar el flujo de trabajo, pero entonces se compila con un archivo de código que contiene lógica de implementación. Esto se conoce como creación del flujo de trabajo con separación del código. En este caso, los archivos que se crean tienen las extensiones de archivo .xoml y .xoml.cs, o .xoml.vb.

  • Mediante el modelo de objetos de Windows Workflow Foundation en un archivo de código. Esto se conoce como creación del flujo de trabajo sólo con código. En este caso, los archivos creados tienen las extensiones de los archivos de código fuente de C# o Visual Basic estándar. Estos archivos también se compilan.

Proceso de compilación

Cuando se compilan los flujos de trabajo, se llevan a cabo los procedimientos siguientes como parte del proceso de compilación:

  • La validación se realiza con el fin de asegurarse de que para las actividades de flujo de trabajo se usan las reglas que han establecido para sí mismas. Si hay errores de validación, el compilador devuelve una lista.

  • Se genera una clase parcial a partir de la definición de marcado que se introduce en el compilador.

  • El código se genera para ayudar en la ejecución del motor de tiempo de ejecución de las actividades. Se generan suscripciones a los eventos, que ayudan a las actividades a saber cuándo ha finalizado la ejecución de las actividades que contienen.

  • Las clases parciales generadas a partir del archivo de marcado y las clases parciales del archivo de código se introducen en el compilador de .NET Framework C# o Visual Basic. El resultado de este proceso es el ensamblado de .NET, WorkflowSample.dll. Se puede implementar para ejecutar el flujo de trabajo.

Usar el compilador de línea de comandos de flujo de trabajo wfc.exe

Windows Workflow Foundation proporciona un compilador de flujo de trabajo de línea de comandos denominado wfc.exe. Windows Workflow Foundation también proporciona un conjunto de tipos públicos que admiten la compilación de flujos de trabajo para permitir un desarrollo personalizado del compilador. Estos tipos públicos son los mismos que se usan internamente en wfc.exe. Puede crear una versión personalizada del compilador mediante la clase WorkflowCompiler.

También puede usar la clase WorkflowCompiler para compilar flujos de trabajo tal y como se muestra en el ejemplo siguiente.

WorkflowCompiler compiler = new WorkflowCompiler();
WorkflowCompilerParameters param = new WorkflowCompilerParameters();
compiler.Compile(param, new string[] { "MainWorkflow.xoml" });

Para obtener más información, vea la clase WorkflowCompiler en la referencia de la biblioteca de clases de Windows Workflow Foundation.

Opciones del compilador

Las opciones del compilador de línea de comandos de flujo de trabajo wfc.exe están documentadas en el siguiente tema del estilo de código.

Microsoft (R) Windows Workflow Compiler version 3.0.0.0
Copyright (C) Microsoft Corporation 2005. All rights reserved.

                  Windows Workflow Compiler Options

wfc.exe <Xoml file list> /target:assembly [<vb/cs file list>] [/language:...] 
        [/out:...] [/reference:...] [/library:...] [/debug...] [/nocode...] 
         [/checktypes...] [/resource:<resource info>]

                        - OUTPUT FILE -
/out:<file>             Output file name
/target:assembly        Build a Windows Workflow assembly (default).
                        Short form: /t:assembly
/target:exe             Build a Windows Workflow application.
                        Short form: /t:exe
/delaysign[+|-]         Delay-sign the assembly using only the public portion
                        of the strong name key.
/keyfile:<file>         Specifies a strong name key file.
/keycontainer:<string>  Specifies a strong name key container.

                        - INPUT FILES -
<Xoml file list>        Xoml source file name(s).
<vb/cs file list>       Code-beside file name(s).
/reference:<file list>  Reference metadata from the specified assembly file(s).
                        Short form is '/r:'.
/library:<path list>    Set of directories where to lookup for the references.
                        Short form is '/lib:'.
/resource:<resinfo>     Embed the specified resource. Short form is '/res:'.
                        resinfo format is <file>[,<name>[,public|private]].

Rules and freeform layout files must be embedded as assembly resources.
The resource name is constructed by using the namespace and type name
of the activity. For example, an activity named "MyActivity" in namespace
"WFProject" would require resource names "WFProject.MyActivity.rules"
and/or "WFProject.MyActivity.layout".

                        - CODE GENERATION -
/debug[+|-]             Emit full debugging information. The default is '+'.
/nocode[+|-]            Disallow code-beside model.
                        The default is '-'. Short form is '/nc:'.
/checktypes[+|-]        Check for permitted types in wfc.exe.config file.
                        The default is '-'. Short form is '/ct:'.

                        - LANGUAGE -
/language:[cs|vb]       The language to use for the generated class.
                        The default is 'CS' (C#). Short form is '/l:'.
/rootnamespace:<string> Specifies the root Namespace for all type declarations.
                        Valid only for 'VB' (Visual Basic) language.
                        Short form is '/rns:'.

                        - MISCELLANEOUS -
/help                   Display this usage message. Short form is '/?'.
/nologo                 Suppress compiler copyright message. Short form is '/n'.

/nowarn                 Ignore compiler warnings. Short form is '/w'.

Consulte también

Referencia

WorkflowCompiler

Conceptos

Modos de creación de flujos de trabajo
Serialización de las actividades personalizadas
Cómo serializar flujos de trabajo

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.