2016-07-14 13 views
2

EchoBot example of the MS Bot Frameworkをローカルで実行しようとしましたが、updates to SDK V3の後にダイアログを作成できません。私はヌルBOTIDが何を意味するのか思ったんだけどNull botId - Microsoft Bot Framework SDK V3

System.ArgumentNullException occurred 
    HResult=-2147467261 
    Message=Value cannot be null. 
Parameter name: botId 
    ParamName=botId 
    Source=Microsoft.Bot.Builder 
    StackTrace: 
     at Microsoft.Bot.Builder.Internals.Fibers.SetField.CheckNull[T](String name, T value) 
    InnerException: 

コールで

Conversation.SendAsync(activity,() => EchoChainDialog.dialog); 

に私が手にエラーがあります。私は Getting Started tutorialに続いてローカルでアプリを実行しています。それは、ボットのためにAppIDを供給する必要はない、と私はかなり確かにAppIdとbotIdは同じものではないと言います。私はこのボットフィールドが何であるかについて多くの文書を見つけることができないようです。

誰でもこの問題が発生していますか?このボットを登録してAppIdを提供する唯一の方法はありますか?

答えて

2

どうやらあなたは

ConfigurationManager.AppSettings["BotId"] = "test"; 

を行うことができ、それが動作します。私は "BotId"フィールドを設定するはずですが、あなたがこの問題に遭遇し、ローカルでテストする必要がある場合はMessagesController.csにこの行を追加してからConversation.SendAsyncを呼び出すことで回避できます。

0

それはBotBuilderでautofacの魔法があるからそれを拾って、のみそこから。web.configファイルまたはapp.configを

<appSettings> 
    <add key="BotId" value="[Your Id]" /> 
    <add key="MicrosoftAppId" value="[The app id]" /> 
    <add key="MicrosoftAppPassword" value="[The client secret]" /> 
</appSettings> 

にする必要があります

私は新しいjsonスタイルの設定を使用したいが、これまで成功していないので、他の方法で設定しようとしました。何らかの方法が必要であると思いますが、IBotIdResolverを実装しようとしましたが、多くのカスタマイズが必要なようですが、会話クラスで実装を選択できませんでした。

関連する問題