質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

解決済

2回答

716閲覧

Azure Bot Serviceをローカルでデバッグ実行する方法

gucchi28

総合スコア29

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

0グッド

0クリップ

投稿2017/06/28 06:06

###■やりたいこと
Azure Bot Serviceをローカルでデバック実行したい

###■使用環境
PC : Surface Book
OS:Windows 10 Professional
開発ツール:VIsual Studio Professional 2015

###■試したこと
① Azure Bot Service作成
※BOT Basicテンプレートを使用

② 下記を参考に、ローカルでのデバッグ実行環境の整備を実施
https://docs.microsoft.com/ja-jp/bot-framework/azure/azure-bot-service-debug-bot#a-iddebug-csharpa-debug-a-c-bot

※下記の事前準備は完了
Download the source code for your bot (from Azure), as described in Set up continuous integration.
Download and install the Bot Framework Emulator.
Install the Azure Functions CLI.
Install the DotNet CLI.

###■問題点
①「project.json」ファイルがあるフォルダで「dotnet restore」を実行するとエラーになりデバッグ実行できない
・エラー内容:

MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.

・「project.json」ファイルの中身

{ "frameworks": { "net46":{ "dependencies": { "Microsoft.Bot.Builder.Azure": "3.2.2" } } } }

###■質問内容
① 問題点①では、フォルダ構成を変更し、「dotnet restore」コマンドを実行すると、
「warning : Unable to find a project to restore!」と警告メッセージが出たが、
どのように対応したらよいのか。

・「dotnet restore」コマンドの実行結果:

C:\Program Files\dotnet\sdk\2.1.0-preview1-006474\NuGet.targets(102,5): warning : Unable to find a project to restore! [C:\Users\[ユーザ名]\・・・\Bot.sln]

・変更前のフォルダ構成(Azureからソースコードをダウンロードしてきた状態)

messages |--EchoDialog.csx |--function.json |--project.json |--project.lock.json |--run.csx PostDeployScripts |--runGulp.cmd .gitignore Bot.sln commands.json debughost.cmd host.json readme.md

・変更後のフォルダ構成(フラット状態)

EchoDialog.csx function.json project.json project.lock.json run.csx runGulp.cmd .gitignore Bot.sln commands.json debughost.cmd host.json readme.md

② 質問①で示した「dotnet restore」コマンド実行後、試しに「debughost.cmd」を実行したが、
以下のような結果となり、デバッグ実行できなかったが、何が問題なのか。

App Settings: Connection Strings: %%%%%% %%%%%% @ %%%%%% @ @@ %%%%%% @@ @@@ %%%%%%%%%%% @@@ @@ %%%%%%%%%% @@ @@ %%%% @@ @@ %%% @@ @@ %% @@ %% % Listening on http://localhost:3978/ Hit CTRL-C to exit... Reading host configuration file 'C:\Users\[username]\・・・\host.json' Generating 0 job function(s) Starting Host (HostId=79a1b3fd3fc54d648b6eb1c231411619, Version=1.0.10826.0, ProcessId=15780, Debug=False, Attempt=0) No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. config.UseServiceBus(), config.UseTimers(), etc.). Job host started Executing HTTP request: { "requestId": "e716f341-dfe2-4ca8-817f-b9c0ae667d45", "method": "GET", "uri": "/" } Executed HTTP request: { "requestId": "e716f341-dfe2-4ca8-817f-b9c0ae667d45", "method": "GET", "uri": "/", "authorizationLevel": "Anonymous" } Response details: { "requestId": "e716f341-dfe2-4ca8-817f-b9c0ae667d45", "status": "OK" } Debugger listening on [::]:5858

以上、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

画像を添付したいので別のスレッドで回答します。

イメージ説明

質問者さんのフロンタスクランナーとソリューションエクスプローラの状況を確認したいのでエラーが出た時点でのスクショを張ってもらえると助かります。

イメージ説明

因みに私の環境では上記画像のとおりブレークポイントを使用したデバッグはできています。
デバッグ方法は[debughost.cmd]を実行してからVSのソースをF5実行してブラウザから指定のURLを叩く手順です。

投稿2017/07/20 02:10

kingkinoko

総合スコア96

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gucchi28

2017/07/29 08:55

kingkinokoさん、返事が遅くなり申し訳ありません。回答ありがとうございます。本件ですが自己解決しました。原因は「Command Task Runner」をインストールしていないことでした。Command Task Runnerをインストールしたらkingkinokoさん同様動作させることができました。
guest

0

ベストアンサー

質問者さんの環境とVSのバージョンが違いますが私は下記の方法でローカルデバッグが出来るようになりましたのでご参考までに記載します。

①環境
PC : Surface Book
OS:Windows 10 Professional
開発ツール:VIsual Studio professional 2017

質問者さんと同じく下記を参照としています。
https://docs.microsoft.com/ja-jp/bot-framework/azure/azure-bot-service-debug-bot#a-iddebug-csharpa-debug-a-c-bot

dotnet restoreを実行する時にVS2017では専用のプロジェクトファイルをダウンロードしてから実行するとNOTEに記載がありましたのでその通りにしたらdotnet restoreを正常に実施できました。

次にdebughost.cmdを実行したのですがbot系のlibraryが存在しないとのことでAzureFunctionsの実行エラーとなりました。こちら調査したところproject.jsonに下記の行を追加してdotnet restoreを実行して解決しました。

{
"frameworks": {
"net46":{
"dependencies": {
"Microsoft.Bot.Builder.Azure": "3.2.2",
"Microsoft.Bot.Connector": "1.1.0" ← 追加
}
}
}
}

これで私の環境ではVS2017でBotプロジェクトのローカルデバッグが出来るようになりました。
もし可能であればVS2017で実施されることをお勧めします。

投稿2017/07/01 06:38

kingkinoko

総合スコア96

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gucchi28

2017/07/05 10:46

kingkinokoさん、返信遅くなりました。大変有益な情報ありがとうございます。まだトライできていませんが、後日トライしてみます。
gucchi28

2017/07/18 09:59

kingkinokoさん、遅くなりましたがトライしてみました。ローカルデバッグ実行できました。project.jsonファイルに追加するところがミソですね。 ちなにみですが、同サイトに記載されている「Visual Studioでブレークポイントを使用してのローカルデバッグ」はできましたでしょうか?私の環境では、タスクランナーエクスプローラーに「タスクランナーの設定ファイルが見つかりませんでした。」と表示され、手順通りに進めれずにいます。よろしければこちらもご回答いただけませんでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問