编辑并继续 (Visual C#)

借助热重载或 C# 的“编辑并继续”,可以在调试时在中断或运行模式下更改代码。 可以应用更改,而无需停止和重启调试会话。

基本热重载体验适用于大多数类型的 .NET 应用和框架版本。 这包括 .NET Framework、.NET Core 和 .NET 5+ (适用于 C# 和 Visual Basic)。 在这种情况下的预期是,如果你使用调试器,可以假设热重载是可用的,并大胆尝试一下!

热重载支持您在调试过程中进行的大多数更改,但也有一些例外。 例如,启用了托管和本机调试器的优化代码或调试会话不支持热重载。

有关其他不受支持的方案的信息,请参阅支持的代码更改(C# 和 Visual Basic)。 如果尝试通过其中一种方案应用代码更改,则会显示一个消息框,指出不支持热重载。

使用热重载

在中断模式下进行代码更改时,C# 的热重载会自动发生,然后使用 ContinueStepSet Next 语句继续调试。 如果在 文件保存时将热重载 设置为 true,保存文件时也会自动发生。

要启用或禁用热重载,请执行以下步骤:

  1. 如果处于调试会话中,请停止调试(调试>停止调试Shift + F5)。
  1. 打开 “工具>选项 ”窗格,然后展开“ 所有设置>调试>.NET/C++热重载 ”部分。

  2. 选择或清除该功能所需的 “启用热重载 ”选项。

  1. 打开 “工具>选项 ”对话框,然后展开 “调试>.NET/C++热重载 ”部分。

  2. 选择或清除该功能所需的 “启用热重载 ”选项,然后选择“ 确定”。

启动或重启调试会话时,该设置生效。

若要使用经典“编辑并继续”体验,

  1. 调试时,在中断模式下对源代码进行更改。

  2. “调试 ”菜单中,选择“ 继续”、“ 步骤”或 “设置下一个语句”。 调试将继续使用新的已编译代码。

编辑并继续不支持某些类型的代码更改。 有关详细信息,请参阅支持的代码更改(C# 和 Visual Basic)。