コードを編集しながら実行!ASP.NET Corで「dotnet」コマンドが便利すぎな件

2021年6月24日木曜日

ASP.NET C#

t f B! P L

はじめに

Visual StudioでASP.NET Core開発をしていてネックなのが、実行(デバッグ)中にソースを変更したくなったときに、いちいち実行を停止
してからソースを修正する必要がある点だ。

そして、ソースの修正が完了したら、もう一度Visual Studioで実行して、ログインして開発中の画面に移動して・・・っというのを修正のたびに繰り返すのは手前である。

「dotnet watch run」という救世主

知っている人はもっと前から使っているかもですか、ASP.NET Core (.NET5)を始めとする、.NETプロジェクトはコマンドプロンプトなどのコンソールから「dotnet」コマンドで起動可能である。

使い方はコンソール上で、該当プロジェクトのディレクトリに移動し「dotnet run」と入力すれば起動する。

さらにwatchオプションを追加して「dotnet watch run」と入力することで、ソースファイルの変更を監視して、変更があると自動で再ビルドしてくれる。

つまり、実行しながらソース変更が可能になり、わざわざブラウザで画面を開き直す手前から開放されて最高である。

「dotnet watch run」でデバッグする

「dotnet run」はコンソールで.NETプロジェクトを実行するため、Visual Studio的には未起動状態になるので、ソースコード上にブレークポイントを置いても、デバッグで止まってくれない。

「dotnet run」「dotnet watch run」で起動したものをデバッグする場合は、ASP.NETのワーカープロセスにアタッチしてデバッグを行う。

デバッグ手順

それでは、デバッグな手順を見ていきましょう。

Visual Studioのメニューより、[実行]→[プロセスにアタッチ]を選択する。(CTRL+ALT+Pキー同時押しのキーボードショートカットでも可)

プロセスの一覧より、ASP.NETのワーカープロセスを探します。ワーカープロセスは、基本的に「プロジェクト名.exe」とう名前で存在する。

ワーカープロセスを選択したら、アタッチをクリックする。そうすると、デバッグが開始されブレークポイントで処理が中断する。

「dotnet watch run」で起動した場合、アタッチ中(デバッグ中)にソースコードを編集すると、自動的に再ビルドが走ってデバッグが終了するので注意が必要である。

まとめ

ASP.NET Coreプロジェクトを「dotnet run」や「dotnet watch run」コマンドで起動して、デバッグする方法を紹介してきました。

筆者がこの方法しってから、かなり開発効率が上がった気がする。

スポンサーリンク

QooQ