Bot Builder SDK for .NET v4 を使ってみよう。

まずは、入門編から。
ネットで探してみても、いまいち、まとまったものが無いので、重い腰を上げて、自分で書いておこうと思う。
Visual Studio 2017 を使いますので、その準備をしておいてください。 (最新の 15.8 までアップデート)
Bot Builder のテンプレートとして、

が紹介されていることが多いですが、これはもう古いと思います。
今回は v4 ベースを使いたいので、こちらの方にアクセスして、vsix ファイルをダウンロードし、Visua Studio 2017 に組み込んでください。(2018/10/03 時点では、4.0.6.15 が最新です)

vsix をダブルクリックして、インストールしましょう。
[ツール] – [拡張機能と更新プログラム] を見ると、以下のようになっています。

botプロジェクトが拡張機能で準備できた

続いて、新規プロジェクトを見てみると、Bot Framework が追加され、以下のようになっています。

botプロジェクトの準備

で、このままにしておいて、今後は、Bot Framework エミュレーターをインストールしておきます。
以下の GitHub にアクセスします。

リリースサイトから、botframework-emulator-setup-XXXXX.exe をダウンロードしてインストールしておきましょう。
(2018/10/03 時点では、40025 が最新です)

では、早速、サンプルを作ってみましょう。
新規プロジェクトで、Bot Builder Echo Bot V4 を選択してみます。

BotBuilderEchoBotV4選択

このままでもビルド(.NET Core 2.0 SDK)できるのですが、今回、Visual Studio 2017 15.8 を使っているので、.NET Core 2.1 SDK を使うように変更します。

ターゲットフレームワークを変更

続いて、Bot Builder SDK を更新しましょう。プロジェクト [Bot Builder Echo Bot V41] を右クリックして、
[Nuget パッケージの管理] をクリックすると、更新プログラムがあることがわかります。

nugetで更新する

2018/10/03 時点では、v4.07 が最新です。
ちなみに、下記から個別に用意することもできますね。

では、ビルドしてみます。エラーもなく、成功するはずです。
デバッグ実行してみると、IIS Express で起動され、ブラウザが開くのですが、エラーになりました。
HTTP Error 502.5 – Process Failure ErrorCode = 0x80004005 : 0
イベントログにもしっかりとエラーが残っています。

Application ‘MACHINE/WEBROOT/APPHOST/BOT BUILDER ECHO BOT V41’ with physical root ‘E:\Developer\bot-dev\Bot Builder Echo Bot V41\Bot Builder Echo Bot V41\’ failed to start process with commandline ‘d:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\microsoft\web tools\projectsystem\VSIISExeLauncher.exe -argFile "H:\Temp\tmp3E79.tmp"’, ErrorCode = ‘0x80004005 : 0.

悲しい。
調べてみたところ、.NET Core 2.1 の最新版をダウンロードしてインストールすることで無事に動くことがわかりました。

上記サイトから、.NET Core 2.1 SDK (Build apps – SDK v2.1.403)をダウンロードしてインストールしました。

再度、デバッグ実行すると、無事に動きます!やったー。

EchoBotが動いた

この状態で、Bot Framework エミュレーター を起動して、チャットしてみます。
ソリューションエクスプローラーを見ると、BotConfigration.bot が生成されているので、このファイルを
Bot Framework エミュレーターに読み込ませて起動します。

Bot Framework エミュレーターを使う1

Bot Framework エミュレーターを使う2

Bot Framework エミュレーターを使う3

すると、Bot Framework エミュレーターが起動します。

Bot Framework エミュレーターを使う4

さあ、何かメッセージを入力してみましょう!

Bot Framework エミュレーターを使う5

おぉ、ちゃんとエコーしてるじゃないですか。すばらしい。

では、今回はここまで。

コメントを残す