次の方法で共有


ホット リロードの構成 (C#、VB、C++)

デザイン時に、Visual Studio Tools>Options メニューからホット リロードを無効にしたり、有効にしたりすることができます。 ホット リロード はデバッグ ビルドでのみ機能します。 詳細については、「ホット リロードを参照してください。

ネイティブ C++ の場合、ホット リロードは /INCREMENTAL オプションを使用する必要があります。 C++ の機能要件の詳細については、このブログ投稿とエディット コンティニュ (C++) を参照してください。

IntelliTrace が有効になっていて、IntelliTrace イベントと呼び出し情報の両方を収集する場合、ホット リロードは無効になります。 詳細については、「 IntelliTrace」を参照してください。

ホット リロードを有効にして構成する

ホット リロードを構成するには、< Settings から ホット リロード ドロップダウン ボタンを選択します。

ホット リロード の構成のスクリーンショット

または、Tools>Options ペインを開き、All Settings>、Debugging>、.NET/C++ ホット リロード セクションのオプションを調整します。 次のオプションを使用できます。

  • Enable ホット リロード: デバッガーがアタッチされた状態でアプリが実行されている場合 (F5) .NETおよび C++ コードでホット リロード機能を使用します。

  • 続行時に自動的に変更を適用する (ネイティブのみ): Visual Studioは、中断状態からプロセスを続行するときに行った未処理のコード変更を自動的にコンパイルして適用します。 選択されていない場合は、[デバッグ] メニューの [コード変更の適用] 項目を使用して変更を適用できます。

  • 古いコードに関する警告 (ネイティブのみ): 古いコードに関する警告を取得します。

  • デバッグしない場合は有効: デバッガーがアタッチされていない状態でアプリを実行するときにホット リロードを有効にします (Ctrl + F5)。

  • [ファイルの保存時に適用]: ファイルの保存時に変更を適用します。

  • ログの詳細: ホット リロードが有効な場合のログ記録のレベルを設定します:MinimalDetailed、または Diagnostic

Visual Studio の .NET C++ ホット リロード の設定のスクリーンショット

または、 Tools>Options ダイアログを開き、Debugging>.NET/C++ ホット リロード セクションのオプションを調整します。 次のオプションを使用できます。

  • Enable ホット リロード: デバッガーをアタッチして起動するときにホット リロードを有効にします (F5)。

  • デバッグなしで開始するときにホット リロードを有効にする: デバッガーをアタッチせずに開始するときにホット リロードを有効にします (Ctrl + F5)。

  • ファイル保存時にホット リロードを適用: ファイルを保存するたびに、コードの変更が適用されます。

  • ログの詳細度: ホット リロード出力ウィンドウに表示される情報の量をフィルター処理します。

.NET ホット リロード の設定のスクリーンショット

C++ の場合は、 Tools>Options>Debugging>General を開いて追加のオプションを設定できます。 Enable ホット リロード が選択されていることを確認し、他のオプションを設定します。

  • 続行時の変更 (ネイティブのみ): Visual Studioは、中断状態からプロセスを続行するときに行った未処理のコード変更を自動的にコンパイルして適用します。 選択されていない場合は、[デバッグ] メニューの [コード変更の適用] 項目を使用して変更を適用できます。

  • 古いコードに関する警告 (ネイティブのみ): 古いコードに関する警告を取得します。

.NET ホット リロードでは、.NET 6+ プロジェクトの launchSettings.json ファイルを変更し、hotReloadEnabledfalse に設定することで、ホット リロードをプロジェクト レベルで使用できるかどうかを制御することもできます。

例:

{
  "profiles": {
    "Console": {
      "commandName": "Project",
      "hotReloadEnabled": false
    }
  }
}

自動再起動の構成

ホット リロードは、サポートされていない変更 (失礼な編集とも呼ばれます) が行われたときに、デバッグ セッション全体を終了するのではなく、アプリのプロセスを自動的に再起動できます。 これを有効にするには、プロジェクト ファイルを編集して、次のプロパティ宣言を追加します。

<PropertyGroup>
  <HotReloadAutoRestart>true</HotReloadAutoRestart>
</PropertyGroup>

このプロパティは 、Directory.Build.props ファイルで設定することもできます。 自動再起動は、迅速なプロセスの再起動が可能なプロジェクトの種類 (たとえば、一部のアスパイア プロジェクトや Web プロジェクト) に対して機能するため、中断を最小限に抑えてデバッグを続行できます。

これはプロセス ベースの再起動です。 たとえば、複数のプロジェクトをデバッグしている場合、変更されたプロジェクトと依存プロジェクトのみが再構築され、再起動されます。

Razor のホット リロードを構成する

Roslyn プロセス内で Razor コンパイラを共同ホストすることで、ホット リロード中に .razor ファイルを編集する方が高速で効率的になります。 Cohosting により、ホット リロード を使用する場合の全体的な信頼性も向上します。

共同ホストを有効にするには、[>] を選択し、を検索します。 [ Razor に Roslyn Cohost サーバーを使用する (再起動が必要)] 設定を選択または選択解除します。 このオプションを有効にした場合は、Visual Studioを再起動します。 Cohosting は既定で有効になっています。

トラブルシューティング情報については、「 Visual Studioを参照してください。

コードの変更を停止する

ホット リロードがコード変更の適用中である間は、操作を停止できます。

注意事項

マネージド コードでコードの変更を停止すると、予期しない結果が発生する可能性があります。 通常、マネージド コードへの変更の適用は簡単なプロセスであるため、マネージド コードのコード変更を停止する必要はほとんどありません。

コード変更の適用を停止するには:

  • [デバッグ] メニューから [コード変更の適用を停止] を選択します。

    このメニュー項目は、コードの変更が適用されている場合にのみ表示されます。

    このオプションを選択した場合、コードの変更はコミットされていません。