C# 7.1からasync Mainメソッドが使えるようになったので、Mainメソッドから直接非同期メソッドをコールできるようになりました。
ただし、Visual Studioでデフォルトの設定だとビルドの言語バージョンが「C#の最新のメジャー バージョン (既定)」になっており、この場合C# 7.0を指している場合があります。
ビルド実行時に「エントリ ポイントに適切な静的 'Main' メソッドを含んでいません」というエラーが出る場合はこれにあたっているため、ビルドの言語バージョンで具体的なC#のバージョンを指定するか、「C#の最新のマイナー バージョン (最新)」を選択してみてください。
2019年3月28日木曜日
2019年1月22日火曜日
Bot Framework v4で、App ServiceにデプロイするとInternalServerErrorが出る現象について
Bot Framework v4でEmulatorでは通常に動作するものの、App ServiceにデプロイしてアクセスするとInternalServerErrorが出ることがあります。
こちらの現象について、4.1.5のバージョンでは以下の対処にて解決できました。
1..botファイルの修正
Visual StudioでBotアプリのプロジェクトを開くとxxx.botというファイルがありますが、こちらのservicesのエントリを以下のように記述してください。本来はApp Serviceのアプリケーション設定でアプリケーションIDやパスワードを設定するはずなのですが、これがうまく動作していないようです。
2. ライブラリを以下で指定(これは細かいバージョンによって異なる可能性があります)
・ターゲットフレームワーク:.NET Core 2.1
・Microsoft.Bot.xxx -> 4.1.5
・Microsoft.AspNetCore、Microsoft.AspNetCore.All -> 2.1.6
こちらの現象について、4.1.5のバージョンでは以下の対処にて解決できました。
1..botファイルの修正
Visual StudioでBotアプリのプロジェクトを開くとxxx.botというファイルがありますが、こちらのservicesのエントリを以下のように記述してください。本来はApp Serviceのアプリケーション設定でアプリケーションIDやパスワードを設定するはずなのですが、これがうまく動作していないようです。
"services": [
{
"type": "endpoint",
"appId": "<アプリID>",
"appPassword": "<パスワード>",
"endpoint": "https://<デプロイしたApp ServiceのURL>/api/messages",
"id": "<ボットID>",
"name": "production"
},
{
"type": "endpoint",
"appId": "",
"appPassword": "",
"endpoint": "http://localhost:3978/api/messages",
"id": "2",
"name": "development"
}
],
2. ライブラリを以下で指定(これは細かいバージョンによって異なる可能性があります)
・ターゲットフレームワーク:.NET Core 2.1
・Microsoft.Bot.xxx -> 4.1.5
・Microsoft.AspNetCore、Microsoft.AspNetCore.All -> 2.1.6
登録:
コメント (Atom)