我正在尝试在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
中添加此行是一种解决方法。