Windows Workflow Foundation でさまざまな問題が発生する修正プログラム。

現象

Microsoft Windows Workflow Foundation で次の問題のいずれかが発生する可能性があります。

問題 1

ワークフローは、永続化が発生した場合をアンロードするときにタイマーが再開されない可能性があります。

問題 2

ワークフロー内で入れ子になったカスタム アクティビティを追加するとします。ただし、同じ活動をもう一度追加しようとすると、アクティビティがワークフローに追加されません。

問題 3

Microsoft Office SharePoint Designer 2007 をしようとするカスタム アクションを使用するワークフローを定義します。カスタム動作は、バージョン番号のようなアセンブリで定義されます。b.c.d。 これを行うには、次のエラー メッセージが表示される可能性があります。
ワークフローは保存でしたが、実行することはできません。
コンパイラは、次のエラーの理由です。
アセンブリが承認された型として宣言されていません
コンパイラでは、バージョンが正しいことを説明するメッセージが表示されます。 などのメッセージはそのバージョンを示しています。b.d.cは正しくありません。 バージョンの最後の 2 桁が逆になっていることに注意してください。

原因

問題 1

アンロード操作でワークフローのタイマー キューの状態が変更されるため、この問題が発生します。ただし、アンロード操作でワークフローに不良ステータスのフラグ設定されません。 タイマー キューには、タイマーを再開すると、スケジューラ サービスでタイマー キューを登録する必要があるかどうかを追跡するために使用されるブール値のフラグが含まれています。 アンロード ・ オペレーションを実行中には、このブール値の値は、スケジューラとワークフローを登録する必要があることを示すために変更をフラグです。ワークフローに不良ステータスのフラグが設定されていない場合、このフラグの値の変更を保存できません可能性があります。そのため、永続化ポイントの後アンロード ・ オペレーションが発生すると、タイマー キューいない言われるかもしれない、タイマーを再登録します。この現象は、タイマーを再開することにあります。

解決策

情報を更新します。

Microsoft ダウンロード センターから更新プログラムを提供することされています。この更新プログラムをダウンロードするには、次のマイクロソフト Web サイトを参照してください。

必要条件

前提条件が必要ではありません。

再起動の必要性

インストールの終了時にメッセージが届かない場合がありますが、この修正プログラムを適用した後にコンピューターを再起動する必要があります。

ファイル情報

修正プログラム (英語版) のファイル属性は次表のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] の [タイム ゾーン] タブを使用してください。
32 ビット版
ファイル名ファイル バージョンファイル サイズ日付時刻
System.workflow.activities.dll3.0.4203.2011,111,42420-Feb-200716:53
System.workflow.componentmodel.dll3.0.4203.2011,643,91220-Feb-200716:53
System.workflow.runtime.dll3.0.4203.201591,22420-Feb-200716:53
64 ビット バージョン
ファイル名ファイル バージョンファイル サイズ日付時刻
System.workflow.activities.dll3.0.4203.2011,111,42420-Feb-200716:53
System.workflow.componentmodel.dll3.0.4203.2011,643,91220-Feb-200716:53
System.workflow.runtime.dll3.0.4203.201591,22420-Feb-200716:53

回避策

問題 2

この問題を回避するには、以下の手順を実行します。
  1. WorkflowName.cs ファイルを閉じます。
  2. WorkflowName.cs ファイルを再度開きます。
  3. WorkflowName.cs ファイルには、入れ子になったカスタム アクティビティを追加します。

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

詳細

ソフトウェア更新プログラムの用語の詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料を参照してください。

824684マイクロソフトのソフトウェア更新プログラムを記述するために使用される一般的な用語説明

いないワークフローを再読み込みした後に操作を再開するタイマーの詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

932394タイマーが再開しない操作で Microsoft Windows Workflow Foundation ワークフローを再読み込みした後

問題を再現する手順を実行します。

問題 1

  1. DelayActivityオブジェクトを格納する新しいワークフローを作成します。
  2. いつでも、将来にDelayActivityオブジェクトのTimeoutDurationプロパティを設定します。
  3. UnloadOnIdleはパラメーターの値をfalseに設定するSqlWorkflowPersistenceServiceオブジェクトを追加します。
  4. DelayActivityオブジェクトの期限が切れる前に、ワークフローを永続化し、ワークフローを明示的にアンロードします。

    注: アンロード操作不良ステータスのフラグが設定されていないため、2 番目の永続性は発生しません。
  5. DelayActivityオブジェクトのタイマーの有効期限が切れる前に、ワークフローを再読み込みします。

    タイマーが再開されないことに注意してください。

問題 2

  1. Microsoft Visual Studio 2005 を起動します。
  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
  3. Visual C#を展開し [ワークフロー] をクリックして、シーケンシャル ワークフロー コンソール アプリケーション] をクリックして、 WorkflowConsoleApplication1 ] ボックスと入力し、[ OK] をクリックします。
  4. ソリューション エクスプ ローラーで、 WorkflowConsoleApplication1を右クリックし、追加] をクリックし、[新しい項目] をクリックします。
  5. [活動] をクリックしてParentActivity.cs ] ボックスと入力し、[追加] をクリックします。
  6. ソリューション エクスプ ローラーで、 WorkflowConsoleApplication1を右クリックし、追加] をクリックし、[新しい項目] をクリックします。
  7. [活動] をクリックしてChildActivity.cs ] ボックスと入力し、[追加] をクリックします。
  8. CodeActivityアクティビティを ChildActivity.cs に追加します。
  9. 手順 8 で追加したCodeActivityアクティビティをダブルクリックし、 CodeActivityアクティビティのコード ハンドラーを追加します。
  10. [ビルド] メニューで、ソリューションのリビルド]をクリックします。
  11. ParentActivity.cs ファイルには、手順 7 で作成したChildActivityアクティビティを追加します。
  12. [ビルド] メニューで、ソリューションのリビルド]をクリックします。
  13. Workflow1.cs ファイルを手順 5 で作成したParentActivityのアクティビティを追加します。
  14. ParentActivityアクティビティのNameプロパティの値をtestActivityに変更します。
  15. Workflow1.cs ファイルを別のParentActivityアクティビティを追加します。
プロパティ

文書番号:932816 - 最終更新日: 2017/02/02 - リビジョン: 1

フィードバック