ワークフロー活動のデバッグ

カスタム ワークフロー拡張機能は .NET フレームワーク アセンブリなので、プラグインをデバッグする方法と非常によく似た方法でデバッグできます。

プラグイン登録ツールを使用する

Plug-in Registration Tool(PRT)は NuGet からダウンロードできるツールの一つです。 詳細情報: Dataverse 開発ツール.

PRT をダウンロードしたら、PluginRegistration.exe を選択して実行します。

プロファイラーをインストールする

PRT からプラグイン プロファイラー ソリューションをインストールするには、プロファイラーをインストールするボタンをクリックします。

プラグイン登録ツールのインストール プロファイラー ボタン。

このソリューションでは、ワークフロー アクティビティに渡されるコンテキストを取り込むする機能が追加されており、 Visual Studioを使用してローカルでコード内のロジックをデバッグに使用できる再実行が可能となります。

ご利用の Microsoft Dataverse インスタンスに プラグイン プロファイラ をインストールしている場合、 登録済みのプラグインとカスタムワークフロー アクティビティーリストの最下部のPRTに表示されます。

プラグイン登録ツールを使用したプラグインの登録。

ワークフロー活動のプロファイル

ワークフロー活動をプロファイルするには、プラグイン プロファイラーを右クリックし、ワークフロー プロファイリングの開始を選択します。

ワークフロー プロファイリングの開始。

これにより、プロファイラー設定ダイアログが開き、次のオプションが表示されます。

プロファイラー設定ダイアログ。

フィールド 説明
Workflow デバッグするワークフロー活動を含むワークフローを選択します。
ステップ デバッグするワークフロー内の具体的な手順を選択します。
プロファイル ストレージを指定する エンティティに保持を選択することをお勧めします。
プロファイラー設定の設定 ワークフローが頻繁に実行されているシステムで作業している場合、取り込まれるプロファイルの数を制限することで、パフォーマンスへの影響を減らすことができます。
セキュリティで保護された構成を含む これにより、セキュリティで保護された構成として渡される可能性のある重要なデータを見ることを避けるオプションが提供されます。

OK をクリックして、設定を保存します。

注意

このドキュメントの執筆時点では、次のエラーが表示されることがあります。

ワークフロー活動プロファイラー設定を設定する際のエラー。

このエラーの詳細情報には、Automatic workflow cannot be published if no activation parameters have been specified. というメッセージが含まれます。

プロファイルの設定が正常に保存されました。 このエラーは、カスタム ワークフロー活動をプロファイリングするプロセスによってワークフローのコピーが作成され、元のワークフローとコピーの両方が無効になるために発生します。 プロファイルされたコピーを再構成し、それをアクティブ化してプロファイルを取り込む必要があります。 詳しくは、次の手順をご覧ください。

プロファイルを取り込む

カスタム ワークフロー活動を含むワークフローのプロファイルが構成されると、元のワークフローのコピーが作成され、その名前にテキスト (Profiled) が追加されます。 元のワークフローとコピーの両方が非アクティブ化されます。

注意

システム既定のソリューションで作業している場合を除き、コピーされたワークフローはそのソリューションに追加されているため、表示されることはありません。 作業中のソリューションにコピーしたワークフローを表示するには、既存の追加をクリックしてこのコピーをソリューションに追加する必要があります。

非アクティブ化されたワークフローは次のように表示されます。

ソリューション エクスプローラーでコピーされたワークフロー。

ワークフローがコピーされると、構成の一部が失われます。 コピーしたワークフローをアクティブ化しようとすると、次のエラーが発生します: An automatic process cannot be activated if no activation parameters have been specified. Add activation parameters, and then activate. ...

つまり、ワークフローのプロパティの開始時を再構成する必要があります。 この場合、アカウント名フィールドが変更されたときにワークフローを開始するように設定します。

フィールドが設定を変更したときに開始する。

選択ボタンをクリックし、アカウント名フィールドを設定します。

フィールドがフィールド選択ダイアログ設定を変更したときに開始する。

コピーされたプロファイル ワークフローは、バックグラウンド (非同期) ワークフローにも変更されます。 リアルタイム (同期) ワークフローをテストする方が簡単なので、メニュー バーでリアルタイム ワークフローに変換をクリックしてください。

コピーされたプロファイル ワークフローを保存し、アクティブ化します。

Dataverse インスタンスに接続されたアプリで、または Web サービスを使用して、取引先企業エンティティの アカウント名 の値を更新します。 これにより、カスタム ワークフロー活動に渡されたコンテキストのインスタンスが取り込まれ、システムのプロファイル レコードとして保持されます。

ヒント

ワークフローが非同期の場合は、完了したことを確認してから次の手順に進みます。 設定 > システム ジョブに移動して、ワークフローが成功していることを確認します。

プロファイリングの停止

デバッグする必要のあるプロファイルを取り込んだ後、プラグインのプロファイリングを停止する必要があります。

プロファイリングを停止するには、PRT を使用してワークフローの登録を解除します。

ワークフロー プロファイリングの停止。

これにより、作成されたワークフローのコピーが削除されます。

重要

コピーされたワークフローは引き続き非アクティブ化されます。 それを適用するには、手動で再アクティブ化する必要があります。

アセンブリをデバッグする

  1. PRT で、プラグイン実行の再生をクリックします。

  2. プラグイン実行の再生ダイアログセットアップ タブで、ダウンロード ボタンをクリックしてプロファイルを選択します。

    プラグイン実行の再生ダイアログ。

    注意

    セキュリティで保護されていない構成セキュリティで保護された構成、および設定タブは、ワークフロー活動のデバッグには使用されません。 これらはプラグインでのみ使用されます。

  3. CRM からプロファイルを選択するのダイアログで、生成したプロファイルを表す最新のプロファイルを選択します。

    先ほど生成したプロファイルを選択します。

    注意

    設定 > 拡張 > プラグイン プロファイルへと移動することで、取込みをしたプロファイルを Dynamics 365 - カスタム Webアプリケーションから管理することができます。

  4. 選択をクリックしてダイアログを閉じます。

  5. アセンブリの場所のフィールドで、省略記号 (...) ボタンをクリックして、デバッグしているワークフロー活動を含むアセンブリの場所を追加します。

  6. Visual Studio にてワークフロー アクティビティ プロジェクトを開く。

  7. ワークフロー活動の Execute メソッド内の行にブレークポイントを追加します。

    ブレークポイントの設定。

  8. デバッグ メニューから、プロセスにアタッチ ... を選択します。

  9. PluginRegistration.exe のプロセスを検索します。

    ヒント

    検索フィルターは、これをすばやく検索するのに役立ちます。 プロセスに割り当てられたプロセス ID (PID) はセッション毎に異なります。 PID は、プラグイン トレースプラグイン実行の再生ダイアログに表示されます。

    Visual Studio がプロセス ダイアログに添付。

  10. 接続 をクリックして Visual Studio デバッガを、プロセスの再実行を行うPRTアプリケーションに接続します。

  11. PRT のプラグイン実行の再生ダイアログで、実行の開始ボタンをクリックします。

Visual Studioを使用してコードをステップ実行し、ワークフロー アクティビティーをデバッグできるようになります。

詳細

プラグインのデバッグ
チュートリアル: プラグインをデバッグする

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。