次の方法で共有


方法 : ワークフローをコンパイルする

次の 3 つの方法でワークフローを構築できます。

  • ワークフロー マークアップ ファイル (ファイル名の拡張子 .xoml) の中でワークフロー マークアップを宣言的に使用します。その後、ワークフロー コンパイラを使ってこのワークフロー ファイルをコンパイルできます。または、コンパイルせずに、ホスト アプリケーションを介してワークフロー ランタイム エンジンに渡すこともできます。これを**「コードなし」のワークフロー作成**といいます。詳細については、「ワークフロー マークアップの使用」を参照してください。作成されるファイルの拡張子は .xoml です。

  • マークアップ ファイルをワークフローの宣言に使用した後、実装ロジックを含んでいるコード ファイルと共にそれをコンパイルできます。これを**「コード分離」ワークフロー作成**といいます。この場合、作成されるファイルの拡張子は .xoml および .xoml.cs または .xoml.vb です。

  • Windows Workflow Foundation オブジェクト モデルをコード ファイル内で使用します。これを**「コードのみ」のワークフロー作成**といいます。この場合、作成されるファイルには標準的な C# または Visual Basic ソース コードのファイル拡張子が付きます。これらのファイルもまたコンパイルされます。

コンパイル プロセス

ワークフローのコンパイル時には、コンパイル手順として次のような処理が実行されます。

  • アクティビティ自身が設定したルールに基づいて、ワークフロー アクティビティの検証が実行されます。検証エラーが存在する場合、コンパイラはエラー リストを返します。

  • コンパイラに入力されるマークアップ定義から部分クラスが生成されます。

  • アクティビティのランタイム実行を支援するためにコードが生成されます。子アクティビティの実行完了を親アクティビティが認識するために役立つイベント サブスクリプションが作成されます。

  • マークアップ ファイルから生成された部分クラス、およびコード ファイルからの部分クラスは、.NET Framework C# または Visual Basic コンパイラに入力されます。この処理の出力は .NET アセンブリ WorkflowSample.dll です。これを展開してワークフローを実行することができます。

ワークフロー コマンド ライン コンパイラ wfc.exe の使用

Windows Workflow Foundation には wfc.exe というコマンド ライン ワークフロー コンパイラがあります。また、Windows Workflow Foundation には、カスタム コンパイラ開発用のワークフロー コンパイルをサポートするパブリック型のセットもあります。これらのパブリック型は、wfc.exe で内部的に使用される型と同じです。WorkflowCompiler クラスを使用することによって、カスタム バージョンのコンパイラを作成できます。

さらに、WorkflowCompiler クラスを使用して、次の簡単な例のようにワークフローをコンパイルすることもできます。

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

詳細については、『Windows Workflow Foundation クラス ライブラリ リファレンス』の WorkflowCompiler クラスを参照してください。

コンパイラ オプション

ワークフロー コマンド ライン コンパイラ wfc.exe のオプションは、次のコード スタイル トピックに記載されています。

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

関連項目

参照

WorkflowCompiler

概念

ワークフロー作成モード
カスタム アクティビティのシリアル化
方法 : ワークフローをシリアル化する

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.