次のコードは、Git プロジェクトに同期して Azure Bot インスタンス チャネルでテストするとうまく機能します。
[LuisIntent("Greeting")]
public async Task Greeting(IDialogContext context, LuisResult result)
{
string s = string.Empty;
string name = string.Empty;
var entities = new List<EntityRecommendation>(result.Entities);
if (entities.Any((entity) => entity.Type == "ClientName"))
{
var clientName = entities.Where((entity) => entity.Type == "ClientName").First();
name = clientName.Entity;
s += "Your name is " + name;
}
else
{
s += "What is your name?";
}
await context.PostAsync($"You gave a greeting. {s}");
context.Wait(MessageReceived);
}
しかし、エミュレーターで実行すると、「申し訳ありませんが、ボット コードに問題が発生しています」というメッセージが表示されます。次のエラーで:
関数の実行中に ScriptHost エラーが発生しました: Functions.messages。Microsoft.Bot.Builder: 値を null にすることはできません。パラメーター名: モデル ID。
それに加えて、次の警告が表示されます。
アセンブリ 'Microsoft.Bot.Builder.resources, Version=3.9.0.0, Culture=en-US, PublicKeyToken=31bf3856ad364e35' が見つかりません。プライベート アセンブリ ファイルがありませんか?
エミュレータで動作させるにはどうすればよいですか? インスタンスにプッシュする前に、まずローカルで動作することをテストしたいと思います。