.NET ホット リロードでは、アプリを再起動することなく、アプリの状態を失うことなく、スタイル シートの変更を含むコード変更が実行中のアプリに適用されます。 ホット リロードは、.NET 6 以降のすべての ASP.NET Core でサポートされています。
通常、更新されたコードは、次の条件で有効にするために再実行されます。
- 一部のスタートアップ ロジックは 1 回だけ実行されます。
- コードの更新がインライン ミドルウェア デリゲートに対して行われる場合を除き、ミドルウェア。
- 構成されたサービス。
- コードの更新がルート ハンドラー デリゲート (たとえば、
OnInitialized) に対して行われる場合を除き、ルートの作成と構成。
- Blazor アプリでは、フレームワークによってRazor コンポーネントのレンダリングが自動的にトリガーされます。
- MVC および Razor Pages アプリでは、ホット リロードによってブラウザーの更新が自動的にトリガーされます。
- Razor component パラメーター属性を削除しても、コンポーネントは再レンダリングされません。 アプリを再起動する必要があります。
サポートされているシナリオの詳細については、「 サポートされているコードの変更 (C# および Visual Basic)」を参照してください。
Blazor WebAssembly
Blazor WebAssembly ホット リロードでは、次のコード変更がサポートされています。
- 新しい型。
- 入れ子になったクラス。
- 変数、式、ステートメントの追加、削除、編集など、メソッド本体に対するほとんどの変更。
- ラムダ式とローカル関数の本体に対する変更。
- 既存の型への静的メソッドとインスタンス メソッドの追加。
- 既存の型に静的フィールド、インスタンス フィールド、イベント、およびプロパティを追加する。
- 既存のメソッドに静的ラムダを追加する。
-
thisをキャプチャするラムダを、以前からthisをキャプチャしている既存のメソッドに追加します。
以前にコンポーネント パラメーターの値を設定した属性が削除されると、コンポーネントは破棄され、再初期化されて、削除されたパラメーターが既定値に戻されることに注意してください。
次のコード変更は、 Blazor WebAssembly アプリではサポートされていません。
- 新しい
await演算子またはキーワード式yield追加します。 - メソッド パラメーターの名前を変更する。
Blazor WebAssembly ホット リロードでは、次のコード変更がサポートされています。
- 新しい型。
- 入れ子になったクラス。
- 変数、式、ステートメントの追加、削除、編集など、メソッド本体に対するほとんどの変更。
- ラムダ式とローカル関数の本体に対する変更。
- 既存の型への静的メソッドとインスタンス メソッドの追加。
- 既存の型への静的フィールドの追加。
- 既存のメソッドに静的ラムダを追加する。
-
thisをキャプチャするラムダを、以前からthisをキャプチャしている既存のメソッドに追加します。
以前にコンポーネント パラメーターの値を設定した属性が削除されると、コンポーネントは破棄され、再初期化されて、削除されたパラメーターが既定値に戻されることに注意してください。
次のコード変更は、 Blazor WebAssembly アプリではサポートされていません。
- 新しい
await演算子またはキーワード式yield追加します。 - メソッド パラメーターの名前を変更する。
- インスタンス (
static以外の) フィールド、イベント、またはプロパティの追加。
Blazor WebAssembly ホット リロードでは、次のコード変更がサポートされています。
次のコード変更は、 Blazor WebAssembly アプリではサポートされていません。
- 新しいラムダまたはローカル関数の追加。
- 新しい
await演算子またはキーワード式yield追加します。 - メソッド パラメーターの名前を変更する。
- メソッド本体の外部の変更。
- インスタンス (
static以外の) フィールド、イベント、またはプロパティの追加。
.NET コマンドライン インターフェイス (CLI)
ホット リロードは、 dotnet watch コマンドを使用してアクティブ化されます。
dotnet watch
アプリのリビルドと再起動を強制するには、コマンド シェルでキーボードの組み合わせ Ctrl+R を使用します。
サポートされていないコード編集が行われた場合( 失礼な編集と呼ばれます)、 dotnet watch 、アプリを再起動するかどうかを確認するメッセージが表示されます。
- はい: アプリを再起動します。
- いいえ: アプリを再起動せず、変更を適用せずにアプリを実行状態のままにします。
- 常に:失礼な編集が発生した場合は、必要に応じてアプリを再起動します。
- なし: アプリを再起動せず、今後のプロンプトを回避します。
ホット リロードのサポートを無効にするには、 --no-hot-reload オプションを dotnet watch コマンドに渡します。
dotnet watch --no-hot-reload
ホット リロードを無効にする
Properties/launchSettings.jsonの次の設定では、ホット リロードが無効になります。
"hotReloadEnabled" : false
その他のリソース
詳細については、Visual Studio ドキュメントの次のリソースを参照してください。
ASP.NET Core