仅在网络聊天中出现错误 "The reader’s MaxDepth of 64 has been exceeded",在模拟器中未出现

Getting error "The reader’s MaxDepth of 64 has been exceeded" only in webchat, not in the Emulator

正如标题所说,我收到错误:

The reader’s MaxDepth of 64 has been exceeded. Path ‘DialogState.dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state._adaptive.actions.$values[0].dialogStack.$values[0].state.options.choices[0]’.

最初,问题出现在模拟器和网络聊天中。问题的原因是因为我的一个项目引用中有第二个 Newtonsoft Json nuget 包,它覆盖并弄乱了 Chatbot 使用的 newtonsoft json。删除第二个 newtonsoft json 包解决了这个问题。

但它似乎只是部分修复。问题似乎仍然出现在网络聊天中,并且只出现在网络聊天中。

我所做的只是多次跳转到几个对话框中,因此实际的对话框堆栈实际上不可能超过 64 的最大深度。

我完全不知道从哪里开始搜索问题,谷歌搜索给出 0 个结果,所以如果有人有可能的解决方案,我将不胜感激。

与此同时,我将拆解机器人项目,希望通过反复试验找到问题的罪魁祸首。

问题是在 Bot Framework Composer 中的“发布”过程中没有重新创建发布二进制文件。删除发布二进制文件并强制重新创建它解决了这个问题。