演習 - コードを変更する

完了

.NET CLI の dotnet watch コマンドを使って、開発ワークフローを強化します。 dotnet run コマンドとは異なり、dotnet watch は、ユーザーがソース ファイルを変更するたびに、アプリケーションを自動的にリビルドして再実行します。 さらに、dotnet watch にはホット リロード機能が含まれており、再起動を必要とせずに、実行中のアプリケーションに更新を直接挿入します。 dotnet watch を使うと、変更の結果をより速く確認でき、生産性と効率が向上します。

この演習では、次のことを行います。

  • 前の演習で作成した Web アプリを、dotnet watch コマンドを使って実行します。
  • Web アプリを実行しながら、コード変更の結果を確認します。

dotnet watch を使用して Web アプリを実行する

コマンド ラインから dotnet watch コマンドを使って Web アプリを実行します。

Visual Studio Code で、統合ターミナル ウィンドウがまだ使用できない場合は、[ターミナル] メニューから[新しいターミナル] を選択して統合ターミナルを開きます。

  1. 次のコマンドを使用してアプリをビルドして実行します。

    dotnet watch
    

    プロジェクトがビルドされて実行され、ASP.NET Core アプリのエンドポイント URL がコマンド ラインに表示されます。

    Now listening on: http://localhost:5287
    

    表示される URL のポート番号はプロジェクトの作成時に構成内でランダムに設定されるため、実際のエンドポイントのポート番号は異なる場合があります。

  2. ご自分のコマンド ラインの出力で生成された URL をブラウザーで開くと、アプリの応答 Hello World! が表示されます。

アプリのコードを変更して、結果をすばやく表示する

MyWebApp アプリケーションが引き続き実行され、ブラウザーにHello World!応答が表示されている場合:

  1. Visual Studio Code のエクスプローラウィンドウで Program.cs を選択します。
  2. app.MapGet メソッドを、"Hello .NET Developer Community!" ではなく "Hello World!" と応答するように変更します。
  3. コードへの変更を保存します。

変更を保存すると、 dotnet watchProgram.cs ファイルへの変更を自動的に検出します。 その後、次のことが行われます。

  • アプリケーションをホット リロードする: 可能な場合、dotnet watch は完全なリビルドを必要とせずに、実行中のアプリケーションに変更を適用します。
  • アプリケーションをリビルドする (必要な場合): 変更をホット リロードできない場合、dotnet watch は自動的にアプリケーションをリビルドして、ユーザーが行った変更を組み込みます。
  • アプリケーションを再起動する (必要な場合): 完全なリビルドが必要な場合、dotnet watch はアプリケーションを再起動します。

ターミナルの出力は、ファイル Program.cs 変更され、変更が実行中のアプリにホット リロードされたことを示します。

変更の結果を見るには、ブラウザーを更新します。 更新された応答 "Hello .NET Community!" が表示されます。

この自動的なリビルドと再起動のプロセスにより、アプリケーションを手動で停止して再起動することなしに、変更の結果をすばやく確認できます。