対象バージョン:
Bot Framework SDK v4.13.0以降 (v4.13.3でも再現)
現象:
特定の機能を使うとエラーが起きる。
エラーメッセージ↓
System.ArgumentOutOfRangeException: 'turn' does not match memory scopes:[] (Parameter 'key')
at Microsoft.Bot.Builder.Dialogs.Memory.DialogStateManager.set_Item(String key, Object value)
at Microsoft.Bot.Builder.Dialogs.ObjectPath.SetObjectSegment(Object obj, Object segment, Object value, Boolean json)
at Microsoft.Bot.Builder.Dialogs.ObjectPath.SetPathValue(Object obj, String path, Object value, Boolean json)
at Microsoft.Bot.Builder.Dialogs.Memory.DialogStateManager.SetValue(String path, Object value)
:
エラーが起きた時に使った機能は以下2パターン
- AdaptiveDialogを使う
- QnAMakerDialogでマルチターンもしくはアクティブラーニングを使う
DialogStateまわりの不具合っぽい。
解決策:
SDKのバージョンを v4.12.2 に下げると解消する。
GitHubにissueが作られているので、いずれ修正されると思われる。
https://github.com/microsoft/BotBuilder-Samples/issues/3194