Chatbotの開発環境を整える
開発環境のインストール
今回はローカルのPCにVisual Studio 2017とBot Builder SDKをインストールして開発環境を整えます。Microsoft公式の環境構築手順はこちらです。
Create a bot with the Bot Builder SDK for .NET
1.Visual Studio 2017のインストール
まずはVisual Studio 2017のインストールから。Visual Studio 2017は様々なエディションが用意されており、無償版のVisual Studio Community EditionでもChatbotの開発は可能です。ダウンロードはこちらから行えます。
Chatbotの実態はWebアプリケーションAPIであり、開発には最低限「ASP.NETとWeb開発」が必要となるので、あらかじめインストールをしておきます。
2. Bot Application テンプレート(Bot Builder SDK)のインストール
次に、Visual Studio用のBot Application テンプレートをこちらからダウンロードします。Bot Application テンプレートにはすでにBot Builder SDKが含まれています。ダウンロードしたBot Application.zipファイルは、「C:\Users\<ユーザー名>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#」フォルダにzipファイルのままコピーしておきます。このフォルダに保存することで、Visual Studioの新規プロジェクト作成時に「Bot Application」のテンプレートとして選択することができるようになります。
3.エミュレーターのインストール
開発するChatbotは専用のエミュレーターを使ってテスト、デバッグを行います。エミュレーターはオープンソースとしてGitHubで公開されているものです。こちらから、アーカイブ(botframework-emulator-x.x.xx.exe、xはバージョン番号)をダウンロードして、exeファイルを実行してインストールします。インストールの最後にファイアウォールの設定変更確認ダイアログが表示されるので、許可しておきます。
開発環境の設定
1.プロジェクトの作成
インストール完了後、Visual Studio 2017上で設定の必要な項目がいくつかあるのでプロジェクトを作成して設定を行っていきます。まずVisual Studioのファイルメニューから「新しいプロジェクト」を選択します。
「インストール済み-テンプレート-他の言語-Visual C#」から「Bot Application」を選択します。ここではプロジェクトの名前を「Chatbot201707」として作成します。
ファイルメニューから「名前を付けてChatbot201707を保存(A)」を選択して、作成されたプロジェクトを保存しておきます。
Bot ApplicationテンプレートはVisual Studioの拡張機能として、いくつかのNuGetライブラリパッケージを参照していますので、ここで参照されているライブラリも最新のものに更新しておきます。ツールメニューから「NuGetパッケージマネージャー-ソリューションのNuGetパッケージの管理」を選択します。
画面上部に「このソリューションに一部のNuGetパッケージが見つかりません。クリックするとオンラインパッケージリソースから復元します。」と表示されている場合は右の「復元」ボタンをクリックします。
「更新プログラム」をクリックして、アップデート可能なパッケージ一覧を表示します。「すべてのパッケージを選択」のチェックを入れます。なお執筆時点では「System.IdentityModel.Tokens.Jwt v5.1.4」は、「Microsoft.Bot.Builder v3.8.3」と互換性がないとのエラーが出てしまうので、こちらのみチェックをはずしました。準備ができたら、「更新」ボタンをクリックします。
Bot Applicationのテンプレートは、初めから簡単なサンプルアプリケーションとして動くようになっています。更新が完了したらF5キーを押して一度アプリケーション実行してみましょう。Bot Applicationの実態はWebのアプリケーションなので、実行すると自動的にWebブラウザが立ち上がります。既定の設定では「http://localhost:3979」のURLで下記のような表示となれば、エラーなく起動に成功したことになります。
もし、実行にエラーが出る場合は、更新したNuGetパッケージの読み込みに失敗している可能性がありますので、一度Visual Studioを閉じてプロジェクトを立ち上げ直して実行してみましょう。起動しなおしてもエラーが出る場合は、NuGetパッケージの更新がうまくいっていないことも考えられます。再度NuGetパッケージの更新を行ってみましょう。