编辑并继续 (Visual C#)

借助热重载或 C# 的“编辑并继续”,可以在调试期间的中断或运行模式下更改代码。 不必停止并重新启动调试会话即可应用更改。

基本热重载体验适用于大多数类型的 .NET 应用和框架版本。 这包括 .NET Framework、.NET Core 和 .NET 5+(适用于 C# 和 Visual Basic)。 此方案中的预期是,如果使用的是调试器,则假设热重载可用并进行尝试!

“热重载”支持在调试会话期间可能做出的大多数更改,但有某些例外。 例如,启用了托管和本机调试器的优化代码或调试会话不支持热重载。

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

使用热重载

当在中断模式下更改代码然后使用“继续”、“步骤”或“设置下一个语句”继续调试时,会自动发生热重载 (C#)。 如果将文件保存时热重载设置为 true,则在保存文件时也会自动发生热重载。

启用或禁用热重载:

  1. 如果正在进行调试会话,请停止调试(“调试”>“停止调试”或按 Shift+F5) 。

  2. 打开“工具”>“选项”>“调试”>“.NET/C++ 热重载”,选中或清除“在调试时启用‘热重载’和‘编辑并继续’”复选框。

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

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

  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#) 将自动发生,然后使用“继续”、“步骤”或“设置下一个语句”继续调试,或在调试器窗口中计算函数

启用或禁用“编辑并继续”:

  1. 如果正在进行调试会话,请停止调试(“调试”>“停止调试”或按 Shift+F5) 。

  2. 在“工具”>“选项”>(或“调试”>“选项”)>“调试”>“常规”中,选择或清除“启用编辑并继续”复选框。

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

若要使用“编辑并继续”:

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

  2. 在“调试”菜单中,单击“继续”、“步骤”或“设置下一个语句”,或在调试器窗口中计算函数 。

    调试将使用新的已编译代码继续进行。

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