Botframework “微软机器人模拟器”;抱歉,我的机器人程序代码有问题;,如何调试这个?

Botframework “微软机器人模拟器”;抱歉,我的机器人程序代码有问题;,如何调试这个?,botframework,azure-language-understanding,Botframework,Azure Language Understanding,我的MS.Bot.Framework+Luis+Azure有问题 await Conversation.SendAsync(activity, () => { return Chain.From(() => new LUISDialog() as IDialog<object>); }); wait Conversation.sendaync(活动,()=>{return Chain.From(()=> 新的LUISDialog()作为IDialog);});

我的MS.Bot.Framework+Luis+Azure有问题

 await Conversation.SendAsync(activity, () => { return Chain.From(() => 
 new LUISDialog() as IDialog<object>); });
wait Conversation.sendaync(活动,()=>{return Chain.From(()=>
新的LUISDialog()作为IDialog);});
我有活动Azure订阅,使用订阅密钥设置端点

运行MS Bot emulator时,我收到错误消息“抱歉,我的Bot代码有问题”。在调试模式下使用断点,我发现“新LUISDialog”没有被触发,似乎跳过了它

using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.Luis;
using Microsoft.Bot.Builder.Luis.Models;
using System.Threading;
using George;
using Microsoft.Bot.Connector;

namespace Geoge.Dialog
{
    [LuisModel("*****", "*****")]
    [Serializable]
    public class LUISDialog : LuisDialog<object>
    {

        [LuisIntent("Greeting")]
        public async Task GreetingIntent(IDialogContext context, 
            IAwaitable<IMessageActivity> activity, LuisResult result)
        {
            string message = $"Hello there";
            await context.PostAsync(message);
            context.Wait(this.MessageReceived);
        }
使用系统;
使用System.Threading.Tasks;
使用Microsoft.Bot.Builder.Dialogs;
使用Microsoft.Bot.Builder.Luis;
使用Microsoft.Bot.Builder.Luis.Models;
使用系统线程;
使用乔治;
使用Microsoft.Bot.Connector;
名称空间Geoge.Dialog
{
[路易斯莫德(“****”,“****”)]
[可序列化]
公共类LUISDialog:LUISDialog
{
[问候语]
公共异步任务GreetingIntent(IDialogContext上下文,
IAwaitable活动、LuisResult结果)
{
字符串消息=$“你好”;
等待上下文。PostAsync(消息);
context.Wait(this.MessageReceived);
}

有人能帮我吗?我花了很多时间试着调试,我想我一定错过了一些简单的东西。

奇怪的是你的初始代码行:

await Conversation.SendAsync(activity, () => { return Chain.From(() => new LUISDialog() as IDialog<object>); });

虽然特定的代码片段是正确的,但我也面临同样的问题。 在我将我的LUIS应用程序发布到生产版后,它得到了修复。emulator上的错误也表明-请求错误


我认为这可能会对将来的某个人有所帮助。

当你在Azure门户的bot中通过网络聊天进行测试时,它是否有效?这是你在本地开发的BF.3.x C#项目还是使用web app bot开发的项目。如果你在本地开发,请逐步完成代码或添加控制台。编写语句。如果你在远程调试,请检查日志,并添加debug语句-可能是上下文。编写。我注意到这是使用George;的
名称空间Geoge。Dialog
可能是其中之一,这可能是导致此?链“应该”在此处工作的一个输入错误,但这也是我的建议。
await Conversation.SendAsync(activity, () => new LUISDialog());