Microsoft Bot Framework를 사용하여 LuisDialog를 사용하여 매우 간단한 봇을 만듭니다. 그러나 나는 계속 System.Collections.Generic.KeyNotFoundException을 얻는다. 여기 Microsoft Bot Framework를 사용하는 System.Collections.Generic.KeyNotFoundException
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
await Conversation.SendAsync(activity,() => new QuotesDialog());
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
내 대화의 : 여기
내 컨트롤러의
[Serializable]
[LuisModel("MyModelIdGoesHere", "MySubscriptionKeyGoesHere")]
public class QuotesDialog : LuisDialog<object>
{
[LuisIntent("CheckQuote")]
public async Task CheckQuote(IDialogContext context, LuisResult result)
{
await context.PostAsync("Hello you!");
context.Wait(MessageReceived);
}
[LuisIntent("None")]
public async Task None(IDialogContext context, LuisResult result)
{
await context.PostAsync("I'm sorry. I didn't get that.");
context.Wait(MessageReceived);
}
}
나는 3.0.0와 같은 봇 프레임 워크의 이전 버전을 사용하는 경우, 나는 다음과 같은 오류가 발생합니다 : (500) InternalServerError { "message": "오류가 발생했습니다." }
그러나 나는 최신 안정 버전 (3.2.1) 나는 얻을 "System.Collections.Generic.KeyNotFoundException"유형의 다음과 같은 오류로 업데이트 할 경우 :
"Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary2.get_Item(TKey key) at Microsoft.Bot.Builder.Dialogs.LuisDialog "
전체 스택 추적 여기에 있습니다 :
나는 다른 솔루션에 새 프로젝트를 만들려고하지만 같은 오류가 발생합니다. 나는 Bot Framework의 다른 버전을 Nuget을 통해 설치하려고 시도했지만, 이전에 말했던 것처럼, 한 가지 방법 또는 다른 방법으로 여전히 오류가 발생했습니다. 지금까지는 Bot Framework에 대한 경험이 거의 없으므로, 그 밖의 무엇을 시도해야하는지 정말로 알지 못합니다.
정확하게 맞으며 문서에도 반영되어야합니다. – K48