QnA&;路易斯·查博特C#

QnA&;路易斯·查博特C#,c#,botframework,azure-language-understanding,qnamaker,C#,Botframework,Azure Language Understanding,Qnamaker,在路易斯意识到这是一个QnA意图之后,我正在尝试实现一个QnaMakerDialog。在Dialogs文件夹中,我有两个文件:BasicLuisDialog.cs和BasicQnAMakerDialog.cs。在我的控制器中,它调用BasicLuisDialog,我想调用其中的QnAMakerDialog。以下是我的完整基本对话代码: using System; using System.Configuration; using System.Threading.Tasks; using Sys

在路易斯意识到这是一个QnA意图之后,我正在尝试实现一个QnaMakerDialog。在Dialogs文件夹中,我有两个文件:BasicLuisDialog.cs和BasicQnAMakerDialog.cs。在我的控制器中,它调用BasicLuisDialog,我想调用其中的QnAMakerDialog。以下是我的完整基本对话代码:

using System;
using System.Configuration;
using System.Threading.Tasks;
using System.Web.Http;

using Microsoft.Bot.Connector;
using Microsoft.Bot.Builder.Dialogs;
using System.Web.Http.Description;
using System.Net.Http;
using System.Diagnostics;
using Microsoft.Bot.Builder.Luis;
using Microsoft.Bot.Builder.Luis.Models;
using System.Threading;
using Microsoft.Bot.Sample.QnABot;




namespace Microsoft.Bot.Sample.LuisBot
{
    [Serializable]
    public class BasicLuisDialog : LuisDialog<object>
    {
        public BasicLuisDialog() : base(new LuisService(new LuisModelAttribute("asdf", "asdf")))
//replace asdf with keys 
        {
        }

        [LuisIntent("None")]
        public async Task NoneIntent(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($"You have reached the none intent. You said: {result.Query}"); //
            context.Wait(MessageReceived);
        }

        [LuisIntent("Weather.GetCondition")]
        public async Task ConditionIntent(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($"You have reached the Condition intent. You said: {result.Query}"); //
            context.Wait(MessageReceived);
        }

        [LuisIntent("Weather.GetForecast")]
        public async Task ForecastIntent(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($"You have reached the ForecastIntent intent. You said: {result.Query}"); //
            context.Wait(MessageReceived);
        }

        [LuisIntent("GetQnA")]
        public async Task GetQnA(IDialogContext context, IAwaitable<IMessageActivity> activity, LuisResult result)
        {
        var msg = await activity;
        var cts = new CancellationTokenSource();
        var faq = new BasicQnAMakerDialog();
        await context.Forward(faq, AfterFAQDialog, msg, CancellationToken.None);

        }

        private async Task AfterFAQDialog(IDialogContext context, IAwaitable<object> result)
        {
        context.Wait(MessageReceived);
        }

    }
}

BasicQnAMakerDialog.cs
所在的命名空间添加

using Microsoft.Bot.Sample.QnABot 

BasicQnAMakerDialog.cs
所在的命名空间添加

using Microsoft.Bot.Sample.QnABot 

你能贴出全班第一名吗?使用系统;使用系统配置;使用System.Threading.Tasks;使用System.Web.Http;使用Microsoft.Bot.Connector;使用Microsoft.Bot.Builder.Dialogs;使用System.Web.Http.Description;使用System.Net.Http;使用系统诊断;使用Microsoft.Bot.Builder.Luis;使用Microsoft.Bot.Builder.Luis.Models;CancellationToken在System.Threading中,所以您还应该有“using System.Threading”;我不确定为什么找不到BasicQnAMakerDialog。请将整个对话框的代码原样添加到问题中。已更新。正在使用的System.Threading消除了第一个错误。您的
BasicQnAMakerDialog
位于哪个命名空间中?您可以发布类的顶部吗?使用系统;使用系统配置;使用System.Threading.Tasks;使用System.Web.Http;使用Microsoft.Bot.Connector;使用Microsoft.Bot.Builder.Dialogs;使用System.Web.Http.Description;使用System.Net.Http;使用系统诊断;使用Microsoft.Bot.Builder.Luis;使用Microsoft.Bot.Builder.Luis.Models;CancellationToken在System.Threading中,所以您还应该有“using System.Threading”;我不确定为什么找不到BasicQnAMakerDialog。请将整个对话框的代码原样添加到问题中。已更新。正在使用的System.Threading消除了第一个错误。您的
BasicQnAMakerDialog
在哪个命名空间中?我现在有一个问题:Dialogs\BasicLuisDialog.cs(14,28):错误CS0234:命名空间“Microsoft.Bot.Sample”中不存在类型或命名空间名称“QnABot”(是否缺少程序集引用?)这些是visual studio中的不同项目吗?它们是不同的.cs文件。但是它们在同一个文件夹中,DialogsLet us。我现在有一个问题:Dialogs\BasicLuisDialog.cs(14,28):错误CS0234:名称空间“Microsoft.Bot.Sample”中不存在类型或名称空间名称“QnABot”。(是否缺少程序集引用?)这些项目在visual studio中是否不同?它们是不同的.cs文件。但它们在同一个文件夹中,DialogsLet告诉我们。