Udostępnij za pośrednictwem


wfc.exe (narzędzie kompilatora wiersza polecenia przepływu pracy)

Uwaga

W tym materiale omówiono przestarzałe typy i przestrzenie nazw.

Narzędzie kompilatora wiersza polecenia wfc.exe przepływu pracy współpracuje ze starymi plikami znaczników przepływu pracy, które mają rozszerzenie pliku xoml (przestarzałe).

Proces kompilacji

Podczas kompilowania przepływów pracy w ramach procesu kompilacji są wykonywane następujące procedury:

  • Walidacja jest wykonywana, aby upewnić się, że działania przepływu pracy są weryfikowane na podstawie reguł ustawionych dla siebie działań. Jeśli występują błędy walidacji, kompilator zwraca listę błędów.

  • Klasa częściowa jest generowana na podstawie definicji znaczników, która jest danymi wejściowymi w kompilatorze.

  • Kod jest generowany, aby ułatwić wykonywanie działań w czasie wykonywania. Subskrypcje zdarzeń są generowane, co pomaga poznać działania po zakończeniu wykonywania tych działań.

  • Klasy częściowe generowane z pliku znaczników i częściowe klasy z pliku kodu są wprowadzane do kompilatora .NET Framework C# lub Visual Basic. Dane wyjściowe tego procesu to zestaw platformy .NET, WorkflowSample.dll. Można to wdrożyć w celu uruchomienia przepływu pracy.

Opcje kompilatora

W tej sekcji przedstawiono opcje kompilatora wiersza polecenia wfc.exe przepływu pracy.

    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'.

Uwagi

Uwaga

W tym materiale omówiono przestarzałe typy i przestrzenie nazw.

Lista autoryzowanych typów jest zwykle definiowana w pliku wfc.exe.config . W fazie weryfikacji kompilacji przepływu pracy dokument źródłowy przepływu pracy jest odrzucany, jeśli lub plik reguł towarzyszących bezpośrednio odwołuje się do wszystkich typów .NET Framework, które nie znajdują się na liście autoryzowanych typów. Lista autoryzowanych typów to dokument XML, w którym każdy wpis wskazuje Assemblywskaźnik , Namespace, a TypeName, i autoryzowany {True|False}. AuthorizedType odpowiada wpisowi na liście. Oznaczenia symboli wieloznacznych, które mogą służyć do uwzględnienia lub wykluczenia pełnych przestrzeni nazw, są dozwolone. Na przykład obejmuje wszystkie typy w Systemsystemie , Type="System.*" w tym typy zawarte w podrzędnych przestrzeniach nazw.

Użycie listy autoryzowanych typów jest kontrolowane przez WorkflowCompiler opcję '/checktypes'.

<configuration>  
  <System.Workflow.ComponentModel.WorkflowCompiler>
    <authorizedTypes>
      <targetFx version="v4.0">
        ...
        <authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System*" TypeName="*" Authorized="True"/>
        ...
      </targetFx>
    </authorizedTypes>
  </System.Workflow.ComponentModel.WorkflowCompiler>  
</configuration>  

Ostrzeżenie

Gdy Type="System.*" typ jest obecny, można uwzględnić inne niezamierzone typy, takie jak Type="System.Configuration", na potrzeby kompilacji. Należy zachować ostrożność i przejrzeć każdy z nich. W przypadku dowolnego typu, który powinien być ograniczony, pamiętaj, aby ustawić wartość AuthorizedFalse.

Zobacz też