共用方式為


編輯後繼續 (Visual C#)

使用 [熱重新載入] 或 [編輯並繼續 (C#)] 時,您可以在除錯時以中斷模式或執行模式變更程式碼。 可以套用變更,而不需要停止並重新啟動偵錯會話。

基本熱重新載入體驗適用於大部分類型的 .NET 應用程式和架構版本。 這包括 .NET Framework、.NET Core 和 .NET 5+ (適用於 C# 和 Visual Basic,視情況而定)。 在此情境中,我們的預期是,如果您使用偵錯工具,可以假設熱重新載入是可用的,並試試看!

熱重新載入支援您可能在偵錯時想要做的大部分變更,但仍有一些例外。 例如,熱重新載入不支援最佳化程式碼,或是在啟用了受控和原生偵錯器的情況下進行的偵錯工作階段。

如需其他不支援案例的相關資訊,請參閱支援的程式碼變更 (C# 和 Visual Basic)。 當您嘗試使用其中一種情況套用程式碼變更時,會顯示一個訊息方塊,指出不支援即時重載。

使用熱重新載入

當您在中斷模式中進行程式碼變更時,會自動發生 C# 的熱重載,然後使用 [繼續]、[ 步驟][設定下一個陳述式] 繼續偵錯。 如果您將 儲存檔案時熱重新載入 設定為 true,則在儲存檔案時也會自動發生。

若要啟用或停用熱重新載入:

  1. 如果您是在偵錯會話中,請停止偵錯(偵錯>停止偵錯Shift + F5)。
  1. 開啟 [工具>選項] 窗格,然後展開 [ 所有設定>偵錯>.NET/C++ 熱重載 ] 區段。

  2. 選取或清除功能所需的 啟用熱重載 選項。

  1. 開啟 工具>選項 對話方塊,然後展開 Debugging>.NET/C++ 熱重新載入 區段。

  2. 選取或清除功能所需的啟用熱重新載入選項,然後選取確定。

當您啟動或重新啟動偵錯工作階段時,設定就會生效。

若要使用傳統「編輯並繼續」體驗:

  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# 的編輯和繼續,然後使用 ContinueStepSet Next 陳述式繼續偵錯,或在偵錯工具視窗中評估函式。

若要啟用或停用「編輯並繼續」:

  1. 如果您是在偵錯會話中,請停止偵錯(偵錯>停止偵錯Shift+F5)。

  2. [工具選項](或 [偵錯選項] 一般)中,選取或清除 [啟用編輯並繼續] 核取方塊。

當您啟動或重新啟動偵錯工作階段時,設定就會生效。

若要使用「編輯並繼續」:

  1. 偵錯時,在除錯模式下,修改原始碼。

  2. [偵錯] 功能表中,選取 [繼續]、[ 步驟][設定下一個陳述式],或在偵錯工具視窗中評估函式。

    偵錯會繼續進行,使用新編譯的程式碼。

[編輯並繼續] 不支援某些類型的程式碼變更。 如需詳細資訊,請參閱支援的程式碼變更 (C# 和 Visual Basic)。