カスタム ワークフロー拡張機能は .NET Framework アセンブリであるため、プラグインのデバッグ方法と同様のメソッドを使用してデバッグできます。
プラグイン登録ツールを使用する
プラグイン登録ツール (PRT) は、NuGet からダウンロードできるツールの 1 つです。 詳細情報: Dataverse 開発ツール。
PRT をダウンロードしたら、それを実行する PluginRegistration.exe を選択します。
Profiler のインストール
PRT から、[プロファイラーのインストール] ボタンをクリックしてプラグイン プロファイラー ソリューションを インストール できます。
このソリューションでは、ワークフロー アクティビティに渡されるコンテキストをキャプチャする機能が追加され、Visual Studio を使用してコード内のロジックをローカルでデバッグするために使用できる再生が可能になります。
Microsoft Dataverse インスタンス 用にプラグイン プロファイラー がインストールされると、 登録プラグインとカスタム ワークフロー アクティビティの一覧の下部にある PRT に表示されます。
ワークフロー アクティビティのプロファイリング
ワークフロー アクティビティをプロファイリングするには、 プラグイン プロファイラー を右クリックし、[ プロファイル ワークフローの開始] を選択します。
次のオプションを提供する [プロファイラーの設定] ダイアログ。
| フィールド | Description |
|---|---|
| ワークフロー | デバッグするワークフロー アクティビティを含むワークフローを選択します。 |
| 手順 | デバッグするワークフロー内の特定の手順を選択します。 |
| プロファイル ストレージを指定する | エンティティに保持を選択することをお勧めします。 |
| プロファイラーの設定を設定する | ワークフローが頻繁に実行されるシステムを使用している場合は、キャプチャされるプロファイルの数を制限することで、パフォーマンスへの影響を軽減できます。 |
| セキュリティで保護された構成を含める | これにより、セキュリティで保護された構成として渡される可能性のある機密データが表示されないようにするオプションが提供されます。 |
[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. ...
つまり、ワークフローのStart whenプロパティを再構成する必要があります。 この場合、[ アカウント名] フィールドが変更されたときにワークフローを開始するように設定します。
[選択] ボタンを 選択 して、[ アカウント名] フィールドを選択します。
コピーされたプロファイル ワークフローは、バックグラウンド (非同期) ワークフローに変更されます。 リアルタイム (同期) ワークフローをテストする方が簡単なので、メニュー バーで [ リアルタイム ワークフローに変換] を選択します。
コピーしたプロファイル ワークフローを保存し、アクティブにします。
Dataverse インスタンスに接続されているアプリ、または Web サービスを使用して、アカウント エンティティの アカウント名 の値を更新します。 この変更により、カスタム ワークフロー アクティビティに渡されたコンテキスト インスタンスのキャプチャが開始され、システム内のプロファイル レコードとして保持されます。
ヒント
ワークフローが非同期の場合は、次の手順に進む前に完了していることを確認してください。 [システム ジョブ > 設定] に移動し、ワークフローが成功したことを確認します。
プロファイリングの停止
デバッグする必要があるプロファイルをキャプチャしたら、プラグインのプロファイリングを停止する必要があります。
プロファイリングを停止するには、PRT を使用してワークフローの登録を解除します。
これにより、作成されたワークフローのコピーが削除されます。
Important
コピーされたワークフローは引き続き非アクティブ化されます。 適用する場合は、手動で再アクティブ化する必要があります。
アセンブリをデバッグする
PRT で、[プラグインの 実行の再生] を選択します。
[ プラグイン実行の再生] ダイアログの [ セットアップ ] タブで、ダウンロード ボタンを選択してプロファイルを選択 します。
注
[セキュリティで保護されていない構成]、[セキュリティで保護された構成]、および [設定] タブは、ワークフロー アクティビティのデバッグには使用されません。 これらはプラグインにのみ使用されます。
[ CRM からプロファイルを選択 ] ダイアログで、生成したプロファイルを表す最新のプロファイルを選択します。
注
Dynamics 365 - カスタム Web アプリケーションでキャプチャされたプロファイルを管理するには、設定>Extensions>Plug-in プロファイルに移動します。
[ 選択] を選択 してダイアログを閉じます。
[ アセンブリの場所 ] フィールドで省略記号 (...) ボタンを選択し、デバッグ中のワークフロー アクティビティを含むアセンブリの場所を追加します。
Visual Studio でワークフロー アクティビティ プロジェクトを開きます。
ワークフロー アクティビティの
Executeメソッド内の行にブレークポイントを追加します。
[デバッグ] メニューの [プロセスにアタッチ...] を選択します。
PluginRegistration.exeのプロセスを探します。ヒント
検索フィルターを使用すると、これを迅速に見つけることができます。 プロセスに割り当てられたプロセス ID (PID) は、セッションごとに異なります。 PID は、[プラグイン トレース] の [ プラグイン実行の再生 ] ダイアログ に表示されます。
プロセスの再生を実行する PRT アプリケーションに Visual Studio デバッガーをアタッチするには、[ アタッチ] を選択します。
[PRT Replay Plug-in Execution ]\(PRT 再生プラグイン実行\) ダイアログで、[ Start Execution]\(実行の開始 \) ボタンを選択します。
これで、Visual Studio を使用してコードをステップ実行し、ワークフロー アクティビティをデバッグできるようになります。