次の方法で共有


エディット アンド コンティニュー (Visual C#)

ホット リロードまたは C# のエディット コンティニュを使用すると、デバッグ中に中断モードまたは実行モードでコードを変更できます。 デバッグ セッションを停止して再起動しなくても、変更を適用できます。

基本的なホット リロード エクスペリエンスは、ほとんどの種類の .NET アプリとフレームワーク バージョンで動作します。 これには、.NET Framework、.NET Core、.NET 5 以降が含まれます (C# と Visual Basic の両方に該当します)。 このシナリオでは、デバッガーを使用している場合は、ホットリロードが利用可能であると仮定し、ぜひ試してみてください。

ホット リロードでは、デバッグ セッション中に行う可能性のあるほとんどの変更がサポートされますが、いくつかの例外があります。 たとえば、マネージド デバッガーとネイティブ デバッガーが有効になっている最適化されたコードまたはデバッグ セッションでは、ホット リロードはサポートされていません。

サポートされていないその他のシナリオについては、「 サポートされているコードの変更 (C# および Visual Basic)」を参照してください。 これらのシナリオのいずれかでコード変更を適用しようとすると、ホット リロードがサポートされていないことを示すメッセージ ボックスが表示されます。

ホット リロードを使用する

C# のホット リロードは、中断モードでコードを変更した後、 ContinueStep、または Set Next ステートメントを使用してデバッグを続行すると、自動的に行われます。 ファイルの保存時にホット リロードを true に設定すると、ファイルの保存時にも自動的に行われます。

ホット リロードを有効または無効にするには:

  1. デバッグ セッションの場合は、デバッグを停止します (Debug>Stop Debugging または Shift + F5)。
  1. [ツール>オプション] ウィンドウを開き、[>>] セクションを展開します。

  2. この機能に対して必要 な [ホット リロードを有効にする] オプションを選択またはオフにします。

  1. [ツール>オプション] ダイアログを開き、[デバッグ>.NET/C++ ホット リロード] セクションを展開します。

  2. 目的の機能の [ホット リロードを有効にする ] オプションを選択またはオフにして、[ OK] を選択します

この設定は、デバッグ セッションを開始または再起動するときに有効になります。

「Edit and Continue」の従来のエクスペリエンスを使用するには:

  1. デバッグ中に、中断モードでソース コードに変更を加えます。

  2. [デバッグ] メニューの [続行]、[ステップ]、または [次のステートメントの設定] を選択します。 デバッグは、新しいコンパイル済みコードで続行されます。

一部の種類のコード変更は、エディット コンティニュではサポートされていません。 詳細については、「 サポートされているコードの変更 (C# と Visual Basic)」を参照してください。

C# のエディット コンティニュを使用すると、デバッグ中に中断モードまたは実行モードでコードを変更できます。 デバッグ セッションを停止して再起動しなくても、変更を適用できます。 実行モードでは、ソース エディターは読み取り専用です。

エディット コンティニュは、Windows 10 以降の UWP、および .NET Framework 4.6 デスクトップ以降のバージョンを対象とする x86 および x64 アプリでサポートされています (.NET Framework はデスクトップ バージョンのみ)。

エディット コンティニュでは、デバッグ セッション中に行う可能性のあるほとんどの変更がサポートされますが、いくつかの例外があります。 エディット アンド コンティニューは、最適化、混在、または SQL Server、共通言語ランタイム (CLR) 統合コードではサポートされていません。 サポートされていないその他のシナリオについては、「 サポートされているコードの変更 (C# および Visual Basic)」を参照してください。 これらのシナリオのいずれかでエディット コンティニュを試みると、エディット コンティニュがサポートされていないことを示すメッセージ ボックスが表示されます。

サポートされていないその他のシナリオについては、「 サポートされているコードの変更 (C# および Visual Basic)」を参照してください。 これらのシナリオのいずれかでコード変更を適用しようとすると、ホット リロードがサポートされていないことを示すメッセージ ボックスが表示されます。

編集して続行を使用する

C# のエディット コンティニュは、中断モードでコードを変更した後、 ContinueStep、または Set Next ステートメントを使用してデバッグを続行するか、デバッガー ウィンドウで関数を評価すると自動的に発生します。

編集と継続機能をオンまたはオフにするには:

  1. デバッグ セッションの場合は、デバッグを停止します (Debug>Stop Debugging または Shift+F5)。

  2. Tools>Options (または Debug>Options) >Debugging>General で、[エディット コンティニュを有効にする] チェック ボックスをオンまたはオフにします。

この設定は、デバッグ セッションを開始または再起動するときに有効になります。

編集と継続を使用するには:

  1. デバッグ中に、中断モードでソース コードに変更を加えます。

  2. [デバッグ] メニューの [続行]、[ステップ]、または [次のステートメントの設定] を選択するか、デバッガー ウィンドウで関数を評価します。

    デバッグは、新しいコンパイル済みコードで続行されます。

一部の種類のコード変更は、エディット コンティニュではサポートされていません。 詳細については、「 サポートされているコードの変更 (C# と Visual Basic)」を参照してください。