Dictionary型変数を使用するワークフローを実行すると「指定されたキーはディレクトリ内に存在しませんでした。」エラーが発生する

Question/Problem

Dictionary型変数を利用しているワークフローがあります。
実行を行うとDictionary型変数を利用する箇所で次のエラーが発生します。

エラーメッセージ(Windows - レガシ プロジェクト):

指定されたキーはディレクトリ内に存在しませんでした。

エラーメッセージ(Windows プロジェクト):

The given key ‘XXXX’ was not present in the dictionary.

Resolution

原因

Dictionary型変数の要素にアクセスする際に存在しないキーを指定した場合に発生します。

対策

ワークフロー上の処理でDictionary型変数の要素にアクセスする際に、存在しないキーを使用されることがないかを確認してください。

Dictionary型変数のContainsKeyメソッドを使用するとキーが存在しているかをBoolean値で取得することができます。

このメソッドを『IF』アクティビティ等と組み合わせて、キーが存在していない場合にログの出力や例外処理を行うようにワークフローに実装を追加することを検討してください。

参考:

「Dictionary<TKey,TValue>.ContainsKey(TKey) メソッド」