使用热重载编辑正在运行的代码
在调试时进行更改
您可以编辑暂停程序的代码,然后继续调试,而无需重新启动会话。 受影响的项目将在后台重新编译并与调试器同步。
此行为默认启用,但您可以通过清除 JetBrains Rider 设置 调试时启用热重载 页面上的 复选框来禁用它 Ctrl+Alt+S。 当调试时禁用热重载,您可以进行任何编辑,但它们不会与调试器同步。
当调试时启用热重载,您可以通过两种方式应用所做的更改。 您可以在 JetBrains Rider 设置 的 页面上使用 在步进和还原时自动应用更改 选项选择其中一种方式 Ctrl+Alt+S:
如果此选项关闭 ,当步进或恢复进程时,更改不会与调试器同步,而是需要显式应用更改:点击编辑器右上角 Hot Reload 微件中的 应用变更:

此方法类似于 Java 调试器中的 热替换。 它允许您在不受更改影响的情况下继续调试,并且当您的更改不影响当前正在单步执行的代码时效果很好。
如果此选项开启 ,当调试会话中进程暂停时,您所做的所有更改将在使用 步进命令 或恢复进程 F9 后自动应用,但始终会通过 Hot Reload 微件收到更改通知,并可选择手动应用。
请注意,更改将在调试器执行下一步或恢复程序 之前发送到进程。 因此,调试会话可能会中断,例如,如果您的更改导致构建失败。 此方法类似于 Visual Studio 调试器。 尽管您的更改可能会中断调试会话,但它确保编辑器中的代码在每一步都与调试器同步。
在运行时进行更改
热重载也适用于在不调试的情况下运行代码 Shift+F10 ,这在测试 ASP.NET Web 应用程序时可能很有帮助。
此行为默认启用,但您可以通过清除 JetBrains Rider 设置 在不调试的情况下运行时启用热重载(.NET 6.0 及更高版本) 页面上的 复选框来禁用它 Ctrl+Alt+S。 当运行时禁用热重载,您可以进行任何编辑,但它们不会与正在运行的应用程序同步。
保存时应用更改
每次保存文件时(可以是 自动或通过按下 Ctrl+S ),都可以应用更改并触发热重载。 此功能在调试和运行期间均可用,因此无需在热重载微件中点击 应用变更 或使用 专用快捷键。
要启用此功能,请在 JetBrains Rider 设置 的 页面上选择 文档保存时自动应用更改 Ctrl+Alt+S。
使用键盘快捷键应用更改
如果您使用 Visual Studio 键位图,您可以按 Alt+F10 应用更改。 对于其他键位图,您可以 为 应用热重载更改 操作分配自定义快捷键。
WPF 的 XAML 热重载
调试 WPF 应用程序时,可以编辑 XAML 文件并在保存后立即将更改反映到正在运行的应用程序中,无需重新生成或重启。 这样可以调整样式、模板、布局和资源,并即时查看结果。
WPF 的 XAML 热重载支持 net9.0-windows、 net10.0-windows 和 .NET Framework 目标。
无需额外配置。 启动调试会话,编辑 XAML,保存文件,应用程序会自动更新。
其他限制
在某些情况下, 无法修改代码 ,必须重新启动。 这些情况包括更改签名、修改泛型函数、任何类型的重命名等。 如果发生这种情况,JetBrains Rider 会通过显示工具提示提醒您。
热重载不支持 F# 和 Visual Basic 应用程序。
C# 代码的热重载不支持对 Windows Forms UI 控件的更改。 有关 WPF XAML 的限制,请参阅 WPF 的 XAML 热重载。
对 MAUI 支持热重载, 但有一些限制。
将热重载应用于 ASP.NET Core 应用程序(Blazor WASM 除外)时,浏览器不会自动刷新。