我正在尝试在EchoBot example of the MS Bot Framework之后在本地运行updates to SDK V3,并且无法创建对话框。

在致电给

Conversation.SendAsync(activity, () => EchoChainDialog.dialog);


我得到的错误是

System.ArgumentNullException occurred
  HResult=-2147467261
  Message=Value cannot be null.
Parameter name: botId
  ParamName=botId
  Source=Microsoft.Bot.Builder
  StackTrace:
       at Microsoft.Bot.Builder.Internals.Fibers.SetField.CheckNull[T](String name, T value)
  InnerException:


我想知道null botID是什么意思。我在Getting Started tutorial之后在本地运行该应用程序。它说不需要为机器人提供一个AppID,而且我很确定AppId和botId不是同一回事。我似乎找不到关于此botId字段是什么的大量文档。

还有其他人遇到过这个问题吗?解决此问题的唯一方法是注册机器人并提供AppId吗?

最佳答案

显然你可以做

ConfigurationManager.AppSettings["BotId"] = "test";


它将起作用。我不确定应该如何设置“ BotId”字段,但是如果您遇到此问题并且只需要在本地进行测试,则在调用MessagesController.cs之前在Conversation.SendAsync中添加此行是一种解决方法。

08-17 16:40