.NET 4.5 での Windows Workflow Foundation の新機能What's New in Windows Workflow Foundation in .NET 4.5

.NET Framework 4.5 の Windows Workflow Foundation (WF) では、新しいアクティビティ、デザイナー機能、ワークフロー開発モデルなど、多くの新機能が導入されています。Windows Workflow Foundation (WF) in .NET Framework 4.5 introduces many new features, such as new activities, designer capabilities, and workflow development models. .NET Framework 4.5 で導入された新しいワークフロー機能の多くは、再ホストされたワークフローデザイナーでサポートされています。Many, but not all, of the new workflow features introduced in .NET Framework 4.5 are supported in the re-hosted workflow designer. サポートされる新機能の詳細については、「再ホストされたワークフローデザイナーでの新しい Workflow Foundation 4.5 機能のサポート」を参照してください。For more information about the new features that are supported, see Support for New Workflow Foundation 4.5 Features in the Rehosted Workflow Designer. .NET 3.0 と .NET 3.5 ワークフローアプリケーションを移行して最新バージョンを使用する方法の詳細については、「移行のガイダンス」を参照してください。For more information about migrating .NET 3.0 and .NET 3.5 workflow applications to use the latest version, see Migration Guidance. このトピックでは、.NET Framework 4.5 で導入された新しいワークフロー機能の概要について説明します。This topic provides an overview of the new workflow features introduced in .NET Framework 4.5.

警告

.NET Framework 4.5 で導入された新しい Windows Workflow Foundation 機能は、以前のバージョンのフレームワークを対象とするプロジェクトでは使用できません。The new Windows Workflow Foundation features introduced in .NET Framework 4.5 are not available for projects that target previous versions of the framework. .NET Framework 4.5 を対象とするプロジェクトが以前のバージョンのフレームワークを再ターゲットにすると、いくつかの問題が発生する可能性があります。If a project that targets .NET Framework 4.5 is re-targeted to a previous version of the framework, several issues can occur.

  • C#デザイナーでは、式がXAML で設定されたメッセージ値に置き換えられます。C# expressions will be replaced in the designer with the message Value was set in XAML.
  • 次のエラーを含む、多くのビルド エラーが発生します。Many build errors will occur, including the following error.

ファイル形式は、現在のターゲットフレームワークと互換性がありません。ファイル形式を変換するには、明示的にファイルを保存してください。このエラーメッセージは、ファイルを保存してデザイナーを再度開いた後に表示されます。The file format is not compatible with current targeting framework. To convert the file format, please explicitly save the file. This error message will go away after you save the file and reopen the designer.

ワークフローのバージョン管理Workflow Versioning

.NET Framework 4.5 では、新しい WorkflowIdentity クラスに基づいて、いくつかの新しいバージョン管理機能が導入されました。.NET Framework 4.5 introduced several new versioning features based around the new WorkflowIdentity class. WorkflowIdentity には、ワークフロー アプリケーションの作成者向けに、永続化されたワークフロー インスタンスをその定義でマップするメカニズムが備わっています。WorkflowIdentity provides workflow application authors a mechanism for mapping a persisted workflow instance with its definition.

実習Activities

組み込みのアクティビティ ライブラリには、既存のアクティビティ用の新しいアクティビティと新しい機能が含まれています。The built-in activity library contains new activities and new features for existing activities.

NoPersist スコープNoPersist Scope

NoPersistScope は、NoPersistScope の子アクティビティの実行時にワークフローが永続化されないようにする新しいコンテナー アクティビティです。NoPersistScope is a new container activity that prevents a workflow from being persisted when the NoPersistScope’s child activities are executing. これは、ワークフローがファイル ハンドルなどのコンピューター固有のリソースを使用している場合、データベース トランザクション中など、ワークフローの永続化が適切でないシナリオで役立ちます。This is useful in scenarios where it is not appropriate for the workflow to be persisted, such as when the workflow is using machine-specific resources such as file handles, or during database transactions. 以前のバージョンでは、アクティビティ実行中に永続化されないようにするために、NativeActivity を使用したカスタム NoPersistHandle が必要でした。Previously, to prevent persistence from occurring during an activity's execution, a custom NativeActivity that used a NoPersistHandle was required.

新しいフローチャート機能New Flowchart Capabilities

.NET Framework 4.5 のフローチャートが更新され、次の新機能が追加されました。Flowcharts are updated for .NET Framework 4.5 and have the following new capabilities:

  • DisplayName アクティビティまたは FlowSwitch<T> アクティビティの FlowDecision プロパティは編集できます。The DisplayName property of a FlowSwitch<T> or FlowDecision activity is editable. これにより、アクティビティ デザイナーではアクティビティの目的に関する詳細な情報を表示できます。This will let the activity designer show more information about the activity's purpose.

  • フローチャートには ValidateUnconnectedNodes という新しいプロパティがあります。このプロパティの既定値は False です。Flowcharts have a new property called ValidateUnconnectedNodes; the default for this property is False. このプロパティを True に設定すると、接続されていないフローチャート ノードでは検証エラーが発生します。If this property is set to True, then unconnected flowchart nodes will produce validation errors.

部分信頼のサポートSupport for Partial Trust

.NET Framework 4 のワークフローには、完全に信頼されたアプリケーションドメインが必要でした。Workflows in .NET Framework 4 required a fully trusted application domain. .NET Framework 4.5 では、ワークフローは部分信頼環境で動作できます。In .NET Framework 4.5, workflows can operate in a partial trust environment. 部分信頼環境では、サード パーティのコンポーネントは、ホストのリソースに対するフル アクセスを許可しなくても使用できます。In a partial trust environment, third-party components can be used without granting them full access to the resources of the host. 部分信頼でのワークフローの実行に関する問題は次のとおりです。Some concerns about running workflows in partial trust are as follows:

  1. 部分信頼環境では、Interop アクティビティに含まれるレガシ コンポーネント (規則など) を使用することはできません。Using legacy components (including Rules) contained in the Interop activity is not supported under partial trust.

  2. WorkflowServiceHost において部分信頼でワークフローを実行することはできません。Running workflows in partial trust in WorkflowServiceHost is not supported.

  3. 部分信頼シナリオで例外を永続化すると、セキュリティ上の脅威になる可能性があります。Persisting exceptions in a partial-trust scenario is a potential security threat. 例外の永続化を無効にするには、例外が永続化されないように ExceptionPersistenceExtension 型の拡張機能をプロジェクトに追加する必要があります。To disable persisting of exceptions, an extension of type ExceptionPersistenceExtension must be added to the project in order to opt out of persisting exceptions. この型を実装する方法を示したコード例を次に示します。The following code example demonstrates how to implement this type.

    public class ExceptionPersistenceExtension
    {
        public ExceptionPersistenceExtension()
        {
            this.PersistExceptions = false;
        }
        public bool PersistExceptions { get; set; }
    }
    

    例外がシリアル化されない場合は、例外が NoPersistScope 内で使用されていることを確認してください。If exceptions are not to be serialized, ensure that exceptions are used within a NoPersistScope.

  4. アクティビティの作成者は、CacheMetadata をオーバーライドして、ワークフロー ランタイムが型に対してリフレクションを自動的に実行しないようにする必要があります。Activity authors should override CacheMetadata to avoid having the workflow runtime automatically execute reflection against the type. 引数と子アクティビティには null 以外を指定する必要があり、Bind は明示的に呼び出す必要があります。Arguments and child activities must be non-null, and Bind must be called explicitly. CacheMetadataのオーバーライドの詳細については、「 CacheMetadata を使用したデータの公開」を参照してください。For more information on overriding CacheMetadata, see Exposing data with CacheMetadata. また、リフレクションによって作成されないようにするには、internal またはprivateである型の引数のインスタンスを CacheMetadata で明示的に作成する必要があります。Also, instances of arguments that are of a type that is internal or private must be explicitly created in CacheMetadata to avoid being created by reflection.

  5. 型は、シリアル化に ISerializable または SerializableAttribute を使用しません。シリアル化する型では、DataContractSerializer をサポートする必要があります。Types will not use ISerializable or SerializableAttribute for serialization; types that are to be serialized must support DataContractSerializer.

  6. LambdaValue<TResult> を使用する式は RestrictedMemberAccess を必要とするため、部分信頼では動作しません。Expressions that use LambdaValue<TResult> require RestrictedMemberAccess, and thus will not work under partial trust. LambdaValue<TResult> を使用するワークフローでは、これらの式を、CodeActivity<TResult> から派生するアクティビティと置き換える必要があります。Workflows that use LambdaValue<TResult> should replace those expressions with activities that derive from CodeActivity<TResult>. を確認しています。.

  7. 部分信頼では、TextExpressionCompiler または Visual Basic でホストされているコンパイラを使用して式をコンパイルすることはできませんが、以前コンパイルされた式を実行することはできます。Expressions cannot be compiled using TextExpressionCompiler or the Visual Basic hosted compiler in partial trust, but previously compiled expressions can be run.

  8. レベル2の透過性を使用する1つのアセンブリを .NET Framework 4 で使用したり、完全信頼で .NET Framework 4.6.1.NET Framework 4.6.1 したり、部分信頼で .NET Framework 4.6.1.NET Framework 4.6.1 したりすることはできません。A single assembly that uses Level 2 Transparency cannot be used in .NET Framework 4, .NET Framework 4.6.1.NET Framework 4.6.1 in full trust, and .NET Framework 4.6.1.NET Framework 4.6.1 in partial trust.

新しいデザイナーの機能New Designer Capabilities

デザイナー検索Designer Search

より大規模なワークフローを管理しやすくするために、キーワードでワークフローを検索できるようになりました。To make larger workflows more manageable, workflows can now be searched by keyword. この機能は、Visual Studio でのみ使用できます。この機能は、再ホストされたデザイナーでは使用できません。This feature is only available in Visual Studio; this feature is not available in a rehosted designer. 利用できる検索機能には 2 種類あります。There are two kinds of searches available:

  • [クイック検索]。 Ctrl + Fまたは [編集]、 [検索と置換][クイック検索] のいずれかを使用して開始されます。Quick Find, initiated with either Ctrl+F or Edit, Find and Replace, Quick Find.

  • Ctrl + Shift + F キーまたは [編集][検索と置換][フォルダー] を使用して検索 のいずれかで開始されたフォルダーを検索します。Find in Files, initiated with either Ctrl+Shift+F or Edit, Find and Replace, Find in Files.

置換はサポートされていません。Note that Replace is not supported.

クイック検索Quick Find

ワークフロー内で検索されるキーワードは、次のデザイナー項目に一致します。Keywords searched in workflows will match the following designer items:

  • Activity オブジェクト、FlowNode オブジェクト、State オブジェクト、Transition オブジェクト、およびその他のカスタム フロー制御項目のプロパティ。Properties of Activity objects, FlowNode objects, State objects, Transition objects, and other custom flow-control items.

  • [変数]Variables

  • 引数Arguments

  • Expressions

クイック検索はデザイナーの ModelItem ツリーで実行されます。Quick Find is performed on the designer's ModelItem tree. クイック検索は、ワークフロー定義にインポートされた名前空間を検索しません。Quick Find will not locate namespaces imported in the workflow definition.

フォルダーを検索するFind in Files

ワークフロー内で検索されるキーワードは、ワークフロー ファイルの実際のコンテンツに一致します。Keywords searched in workflows will match the actual content of the workflow files. 検索結果は Visual Studio の検索結果ビュー ペインに表示されます。The search results will be shown in Visual Studio Find Results view pane. 結果の項目をダブルクリックすると、ワークフロー デザイナーで一致を含むアクティビティに移動します。Double-clicking the result item will navigate to the activity which contains the match in workflow designer.

変数および引数デザイナーのコンテキストメニュー項目の削除Delete context menu item in variable and argument designer

.NET Framework 4 では、変数と引数は、キーボードを使用してデザイナーでのみ削除できました。In .NET Framework 4, variables and arguments could only be deleted in the designer using the keyboard. .NET Framework 4.5 以降では、コンテキストメニューを使用して変数と引数を削除できます。Starting with .NET Framework 4.5, variables and arguments can be deleted using the context menu.

変数デザイナーと引数デザイナーのコンテキスト メニューを次のスクリーンショットに示しています。The following screenshot shows the variable and argument designer context menu.

変数/引数デザイナーのコンテキスト メニュー

シーケンスを使用した自動ブロックAuto-surround with Sequence

ワークフローまたは特定のコンテナー アクティビティ (NoPersistScope など) には Body アクティビティを 1 つしか含めることができないため、2 つ目のアクティビティを追加するには、開発者が最初のアクティビティを削除し、Sequence アクティビティを追加してから、シーケンス アクティビティに両方のアクティビティを追加する必要がありました。Since a workflow or certain container activities (such as NoPersistScope) can only contain a single body activity, adding a second activity required the developer to delete the first activity, add a Sequence activity, and then add both activities to the sequence activity. .NET Framework 4.5 以降では、デザイナー画面に2つ目のアクティビティを追加すると、両方のアクティビティをラップする Sequence アクティビティが自動的に作成されます。Starting with .NET Framework 4.5, when adding a second activity to the designer surface, a Sequence activity will be automatically created to wrap both activities.

次のスクリーンショットは、WriteLineBody 内の NoPersistScope アクティビティを示しています。The following screenshot shows a WriteLine activity in the Body of a NoPersistScope.

NoPersistScope アクティビティの本体の WriteLine アクティビティ。

次のスクリーンショットは、2 つ目の WriteLine を 1 つ目の下にドロップしたときに Body 内に自動的に作成された Sequence アクティビティを示しています。The following screenshot shows the automatically created Sequence activity in the Body when a second WriteLine is dropped below the first.

NoPersistScope の本体に自動的に作成されたシーケンス。

パンモードPan Mode

デザイナーで大規模なワークフロー内をより簡単に移動するには、パン モードを有効にすると、開発者は、スクロール バーを使用する必要なく、ワークフローの表示される部分をクリックおよびドラッグして移動できるようになります。To more easily navigate a large workflow in the designer, pan mode can be enabled, allowing the developer to click and drag to move the visible portion of the workflow, rather than needing to use the scroll bars. パン モードをアクティブ化するボタンは、デザイナーの右下隅にあります。The button to activate pan mode is in the lower right corner of the designer.

次のスクリーンショットは、ワークフロー デザイナーの右下隅にあるパン ボタンを示しています。The following screenshot shows the pan button which is located at the bottom right corner of the workflow designer.

ワークフローデザイナーで [パン] ボタンが強調表示されています。

マウスの中央ボタンまたは Space キーを使用して、ワークフロー デザイナーをパンすることもできます。The middle mouse button or space bar can also be used to pan the workflow designer.

複数選択Multi-select

複数のアクティビティを同時に選択できます。これを行うには、複数のアクティビティを囲むようにドラッグするか (パン モードが無効な場合)、Ctrl キーを押したまま目的のアクティビティを 1 つずつクリックします。Multiple activities can be selected at one time, either by dragging a rectangle around them (when pan mode is not enabled), or by holding down Ctrl and click the desired activities one by one.

選択した複数のアクティビティは、デザイナー内でドラッグ アンド ドロップすることも、コンテキスト メニューを使用して操作することもできます。Multiple activity selections can also be dragged and dropped within the designer, and can also be interacted with using the context menu.

ワークフロー項目のアウトラインビューOutline view of workflow items

階層ワークフローを移動しやすくするため、ワークフローのコンポーネントはツリー スタイルのアウトライン表示で示されます。In order to make hierarchical workflows easier to navigate, components of a workflow are shown in a tree-style outline view. アウトライン ビューは、ドキュメントアウトライン ビューに表示されます。The outline view is displayed in the Document Outline view. このビューを開くには、上部のメニューで [表示][その他のウィンドウ][ドキュメントアウトライン] の順に選択するか、Ctrl W キーを押しながら U キーを押します。To open this view, from the top menu, select View, Other Windows, Document Outline, or press Ctrl W,U. アウトライン表示でノードをクリックすると、ワークフロー デザイナーの対応するアクティビティに移動し、アウトライン表示が更新されて、デザイナーで選択されているアクティビティが表示されます。Clicking on a node in outline view will navigate to the corresponding activity in the workflow designer, and the outline view will be updated to show activities that are selected in the designer.

はじめにチュートリアルの完成したワークフローの次のスクリーンショットは、シーケンシャルワークフローを含むアウトラインビューを示しています。The following screenshot of the completed workflow from the Getting Started Tutorial shows the outline view with a sequential workflow.

Visual Studio のシーケンシャルワークフローを含むアウトラインビューのスクリーンショット。

C#式C# Expressions

.NET Framework 4.5 より前では、ワークフロー内のすべての式は Visual Basic でのみ記述できました。Prior to .NET Framework 4.5, all expressions in workflows could only be written in Visual Basic. .NET Framework 4.5 では、Visual Basic 式は Visual Basic を使用して作成されたプロジェクトにのみ使用されます。In .NET Framework 4.5, Visual Basic expressions are only used for projects created using Visual Basic. Visual C# プロジェクトでは、式に C# が使用されるようになりました。Visual C# projects now use C# for expressions. 文法強調表示や Intellisense などの機能を備えた、フル機能の C# 式エディターが用意されています。A fully functional C# expression editor is provided which capabilities such as grammar highlighting and intellisense. 以前のバージョンで作成された、Visual Basic の式を使用する C# ワークフロー プロジェクトは引き続き動作します。C# workflow projects created in previous versions that use Visual Basic expressions will continue to work.

C# の式はデザイン時に検証されます。C# expressions are validated at design-time. C# 式のエラーは赤い波下線でマークされます。Errors in C# expressions will be marked with a red wavy underline.

式の詳細については、「式」を参照してください。 C# C#For more information about C# expressions, see C# Expressions.

シェルバーとヘッダー項目の表示をより詳細に制御するMore control of visibility of shell bar and header items

再ホストされたデザイナーでは、標準 UI コントロールの中に、特定のワークフローにとって意味がないものもあれば、無効になっているものもあります。In a rehosted designer, some of the standard UI controls may not have meaning for a given workflow, and may be turned off. .NET Framework 4 では、このカスタマイズはデザイナーの下部にあるシェルバーでのみサポートされています。In .NET Framework 4, this customization is only supported by the shell bar at the bottom of the designer. .NET Framework 4.5 では、デザイナーの上部にあるシェルヘッダー項目の表示を調整するには、適切な ShellHeaderItemsVisibility 値を使用して WorkflowShellHeaderItemsVisibility を設定します。In .NET Framework 4.5, the visibility of shell header items at the top of the designer can be adjusted by setting WorkflowShellHeaderItemsVisibility with the appropriate ShellHeaderItemsVisibility value.

フローチャートおよびステートマシンワークフローでの自動接続と自動挿入Auto-connect and auto-insert in Flowchart and State Machine workflows

.NET Framework 4 では、フローチャートワークフロー内のノード間の接続を手動で追加する必要がありました。In .NET Framework 4, connections between nodes in a Flowchart workflow had to be added manually. .NET Framework 4.5 では、フローチャートおよびステートマシンノードには、アクティビティをツールボックスからデザイナー画面にドラッグしたときに表示される自動接続ポイントがあります。In .NET Framework 4.5, Flowchart and State Machine nodes have auto-connect points that become visible when an activity is dragged from the toolbox onto the designer surface. アクティビティをこれらのポイントのうち 1 つにドロップすると、アクティビティが必要な接続と共に自動的に追加されます。Dropping an activity on one of these points automatically adds the activity along with the necessary connection.

次のスクリーンショットは、アクティビティがツールボックスからドラッグされるときに表示されるアタッチ ポイントを示します。The following screenshot shows the attachment points that become visible when an activity is dragged from the toolbox.

自動接続ポイントを示すフローチャートの開始ノード

アクティビティは、フローチャート ノードと状態の間の接続にドラッグすることで、その他 2 つのノード間にノードを自動挿入することもできます。Activities can also be dragged onto connections between flowchart nodes and states to auto-insert the node between two other nodes. 次のスクリーンショットは、アクティビティをツールボックスからドラッグ アンド ドロップできる、強調表示された接続線を示しています。The following screenshot shows the highlighted connecting line where activities can be dragged from the toolbox and dropped.

アクティビティをドロップするための自動挿入ハンドル

デザイナー注釈Designer Annotations

より大規模なワークフローの開発を容易にするため、デザイン プロセスを追跡できるよう注釈の追加がサポートされるようになりました。To facilitate developing larger workflows, the designer now supports adding annotations to help keep track of the design process. 注釈は、アクティビティ、状態、フローチャート ノード、変数、および引数に追加できます。Annotation can be added to activities, states, flowchart nodes, variables and arguments. 次のスクリーンショットは、デザイナーに注釈を追加するためのコンテキスト メニューを示しています。The following screenshot shows the context menu used to add annotations to the designer.

注釈を追加するためのメニューを示すスクリーンショット。

デバッグ状態Debugging states

.NET Framework 4 では、アクティビティ以外の要素は実行単位ではないため、デバッグブレークポイントをサポートできませんでした。In .NET Framework 4, non-activity elements could not support debug breakpoints since they were not units of execution. このリリースでは、State オブジェクトにブレークポイントを追加する機能が用意されています。This release provides a mechanism for adding breakpoints to State objects. ブレークポイントを State に設定した場合、そのエントリ アクティビティまたはトリガーがスケジュールされる前に、状態が遷移すると実行が停止します。When a breakpoint is set on a State, execution will break when the state is transitioned to, before its entry activities or triggers are scheduled.

デザイナーでの ActivityDelegate オブジェクトの定義と使用Define and consume ActivityDelegate objects in the designer

.NET Framework 4 のアクティビティは、ワークフローの他の部分がワークフローの実行と対話できる実行ポイントを公開するためにオブジェクト ActivityDelegate 使用されていますが、通常、これらの実行ポイントを使用するにはかなりの量のコードが必要です。Activities in .NET Framework 4 used ActivityDelegate objects to expose execution points where other parts of the workflow could interact with a workflow's execution, but using these execution points usually required a fair amount of code. このリリースでは、開発者はワークフロー デザイナーを使用してアクティビティ デリゲートを定義および使用できます。In this release, developers can define and consume activity delegates using the workflow designer. 詳細については、「方法: ワークフローデザイナーでアクティビティデリゲートを定義および使用する」を参照してください。For more information, see How to: Define and consume activity delegates in the Workflow Designer.

ビルド時の検証Build-time validation

.NET Framework 4 では、ワークフロープロジェクトのビルド中に、ワークフローの検証エラーがビルドエラーとしてカウントされませんでした。In .NET Framework 4, workflow validation errors weren’t counted as build errors during the build of a workflow project. つまり、ワークフローの検証エラーが発生した場合でも、ワークフロー プロジェクトのビルドは成功している可能性があります。This meant that building a workflow project could succeed even when there were workflow validation errors. .NET Framework 4.5 では、ワークフローの検証エラーによってビルドが失敗します。In .NET Framework 4.5, workflow validation errors cause the build to fail.

デザイン時のバックグラウンド検証Design-time background validation

.NET Framework 4 では、ワークフローがフォアグラウンドプロセスとして検証されました。これにより、複雑な、または時間のかかる検証プロセスで UI がブロックされる可能性があります。In .NET Framework 4, workflows were validated as a foreground process, which could potentially block the UI during complex or time-consuming validation processes. 現在、ワークフローの検証はバックグラウンド スレッドで実行されるため、UI がブロックされることはありません。Workflow validation now takes place on a background thread, so that the UI is not blocked.

XAML ファイル内の別の場所にあるビューステートView state located in a separate location in XAML files

.NET Framework 4 では、ワークフローのビューステート情報は、さまざまな場所にある XAML ファイルに格納されます。In .NET Framework 4, the view state information for a workflow is stored across the XAML file in many different locations. これは、XAML を直接読み取ったり、ビューステート情報を削除するコードを記述したりする開発者にとっては不便です。This is inconvenient for developers who want to read XAML directly, or write code to remove the view state information. .NET Framework 4.5 では、XAML ファイル内のビューステート情報が XAML ファイル内の個別の要素としてシリアル化されます。In .NET Framework 4.5, the view state information in the XAML file is serialized as a separate element in the XAML file. 開発者は、アクティビティのビューステート情報を簡単に見つけて編集したり、ビューステートを完全に削除したりできます。Developers can easily locate and edit the view state information of an activity, or remove the view state altogether.

式の拡張Expression extensibility

.NET Framework 4.5 では、開発者がワークフローデザイナーにプラグインできる独自の式および式作成操作を作成する方法を提供しています。In .NET Framework 4.5, we provide a way for developers to create their own expression and expression authoring experience that can be plugged into the workflow designer.

再ホストされたデザイナーのワークフロー4.5 機能のオプトインOpt-in for Workflow 4.5 features in rehosted designer

旧バージョンとの互換性を維持するために、再ホストされたデザイナーでは、.NET Framework 4.5 に含まれるいくつかの新機能が既定で有効になっていません。To preserve backward compatibility, some new features included in .NET Framework 4.5 are not enabled by default in the rehosted designer. これは、再ホストされたデザイナーを使用する既存のアプリケーションが、最新バージョンに更新することで壊れないようにするためです。This is to ensure that existing applications that use the rehosted designer are not broken by updating to the latest version. 再ホストされたデザイナーで新機能を有効にするには、TargetFrameworkName を ".NET Framework 4.5" に設定するか、DesignerConfigurationService の各メンバーを設定して各機能を有効にします。To enable new features in the rehosted designer, either set TargetFrameworkName to ".NET Framework 4.5", or set individual members of DesignerConfigurationService to enable individual features.

新しいワークフロー開発モデルNew Workflow Development Models

このリリースには、フローチャートおよびシーケンシャル ワークフロー開発モデルに加えて、ステート マシンのワークフロー、およびコントラクト優先ワークフロー サービスが含まれています。In addition to flowchart and sequential workflow development models, this release includes State Machine workflows, and contract-first workflow services.

ステートマシンのワークフローState machine workflows

ステートマシンのワークフローは、 Microsoft .NET Framework 4 Platform Update 1で .NET Framework 4 バージョン4.0.1 の一部として導入されました。State machine workflows were introduced as part of the .NET Framework 4, version 4.0.1 in the Microsoft .NET Framework 4 Platform Update 1. この更新プログラムには、開発者がステート マシンのワークフローを作成できるようにする、いくつかの新しいクラスとアクティビティが含まれていました。This update included several new classes and activities which allowed developers to create state machine workflows. これらのクラスとアクティビティは .NET Framework 4.5 に対して更新されました。These classes and activities have been updated for .NET Framework 4.5. 更新プログラムは、下記のものなどです。Updates include:

  1. 状態にブレークポイントを設定する機能。The ability to set breakpoints on states

  2. ワークフロー デザイナーで遷移をコピーして貼り付ける機能。The ability to copy and paste transitions in the workflow designer

  3. トリガーを共有する遷移の作成に対するデザイナーのサポート。Designer support for shared trigger transition creation

  4. ステート マシンのワークフロー作成に使用するアクティビティ (StateMachineStateTransition など)。Activities used to create State Machine workflows, including: StateMachine, State, and Transition

次のスクリーンショットは、はじめにチュートリアルの手順「ステートマシンワークフローを作成する方法」の完成したステートマシンワークフローを示しています。The following screenshot shows the completed state machine workflow from the Getting Started Tutorial step How to: Create a State Machine Workflow.

完成したステートマシンのワークフローを示す図。

ステートマシンワークフローの作成の詳細については、「ステートマシンワークフロー」を参照してください。For more information on creating state machine workflows, see State Machine Workflows.

コントラクト優先ワークフローの開発Contract-first workflow development

コントラクト優先ワークフロー開発ツールを使用すると、開発者は code first でコントラクトをデザインできます。 Visual Studio で数回クリックするだけで、各操作を表すアクティビティテンプレートがツールボックスに自動的に生成されます。The contract-first workflow development tool allows the developer to design a contract in code first, then, with a few clicks in Visual Studio, automatically generate an activity template in the toolbox representing each operation. これらのアクティビティは、コントラクトで定義された操作を実装するワークフローを作成するために使用されます。These activities are then used to create a workflow that implements the operations defined by the contract. ワークフロー デザイナーは、ワークフロー サービスを検証し、これらの操作が実装され、ワークフローの署名がコントラクトの署名と一致することを確認します。The workflow designer will validate the workflow service to ensure that these operations are implemented and the signature of the workflow matches the contract signature. また、開発者は、ワークフロー サービスを、実装済みコントラクトのコレクションと関連付けることもできます。The developer can also associate a workflow service with a collection of implemented contracts. コントラクト優先ワークフローサービスの開発の詳細については、「方法: 既存のサービスコントラクトを使用するワークフローサービスを作成する」を参照してください。For more information on contract-first workflow service development, see How to: Create a workflow service that consumes an existing service contract.