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) メソッド」