我使用最新的Bot应用程序模板创建了一个项目(http://aka.ms/bf-bc-vstemplate)
我确保按照“入门”页面(http://docs.botframework.com/en-us/csharp/builder/sdkreference/gettingstarted.html)中的确切步骤安装了Visual Studio 2015(社区版)和nuget软件包的最新更新
我也遵循这些步骤,因为我在本地测试它:
当使用本地运行的机器人模拟器时,您需要为您的机器人设置的Url设置localhost:从最后一步拉出 . 注意:使用Bot应用程序模板时,需要在URL中添加路径“/ api / messages” . 清空MicrosoftAppId字段清空MicrosoftAppPassword字段
在VS 2015中运行Bot App项目后,我对最新的模拟器(https://aka.ms/bf-bc-emulator)做了一个非常基本的测试 . 当我在模拟器中发送"Typing"活动时,我收到了"500 Internal Server Error { "消息":"发生了错误 . " }" .
但是,当我对BotAuthentication注释发表评论时
//[BotAuthentication]
在模拟器中发送“打字”活动会发送“200 OK”响应 . 不幸的是,当我在模拟器中键入“Hello”这样的单词时,我收到“500 Internal Server Error {”消息“:”发生错误 . “}” .
知道为什么会这样吗?
请注意,除了对BotAuthentication批注发表评论之外,我没有对默认项目进行任何代码更改 .
模拟器的版本是3.0.0.54
UPDATE: 模拟器显示后,我在VS输出窗口中看到 Exception thrown: 'System.MissingMethodException' in mscorlib.dll 消息"500 Internal Server Error { "消息":"发生了错误 . " }" .
UPDATE
所以我在不同的机器(Windows 8.1)中尝试了精确的设置,因为我正在使用的机器是Win10评估版 . 猜猜是什么,它就像一个魅力...所以我想这是一个操作系统问题,或者GAC搞砸了?
2 回答
我遇到了同样的问题,我通过在
Post
方法中放置try Catch
块来解决问题 . 弹出实际错误我只是在我的机器人中添加一个web配置条目,如下所示,它开始工作
检查以下NuGet包使用的版本:
Microsoft.Rest.ClientRuntime - 1.8.2
Newtonsoft.Json - 8.0.3
System.IdentityModel.Tokens.Jwt - 4.0.2.206221351
当我将其中任何一个升级到更高版本时,我在模拟器中运行时看到500错误 .
我还必须将我的bot的安全信息添加到Web.config中 .
您需要将安全信息添加到通道模拟器中 .