Using .NET Hot Reload in Rider: Enable, Edit, and Verify Live Changes
Learn how to turn on .NET Hot Reload in Rider, apply code changes while debugging, and avoid common pitfalls.
17 Sept 2025, 10:05 UTC

Edit code while debugging with .NET Hot Reload in Rider
When a Rider debugging session is active, you can change C# source files and see the updates applied instantly without stopping the process.
Worked example: a .NET 6 console application
- Open Rider and create a new console project targeting .NET 6.0 (for example,
dotnet new console -n HotReloadDemoin a terminal). - Open the generated
Program.csfile and replace its contents with:
using System;
namespace HotReloadDemo
{
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine(\"Original message\");
// Keep the process alive so you can observe the change
while (!Console.KeyAvailable)
{
Thread.Sleep(200);
}
}
}
}
Place a breakpoint on the Console.WriteLine line, then start debugging (Debug → Start Debugging). Ensure the lightning‑bolt Hot Reload icon on the debugger toolbar is highlighted; if it is not, enable it via Settings → Build, Execution, Deployment → Debugger → Enable Hot Reload.
While the debugger is stopped at the breakpoint, edit the string inside Console.WriteLine to, for example, \"Updated message via Hot Reload\" and save the file (Ctrl+S). Rider will push the change to the running app; the status bar shows a lightning‑bolt notification and the next time the breakpoint is hit you will see the updated output in the console window.
Limitations and common mistakes
- SDK version: Hot Reload requires .NET SDK 6.0 or later. Using an older SDK will cause Rider to fall back to a full restart on each change.
- Launching without a debugger: Pressing Ctrl+F5 (run without debugging) disables Hot Reload because the feature relies on the debugger infrastructure.
- Editing outside the opened solution: Changes to files that are not part of the current Rider solution are not sent to the process.
- Hot Reload toggle disabled: If the setting is turned off, the IDE will not attempt live updates and will restart the app instead.
- Profiler or analytic agents: Running the app under a profiler, certain diagnostic tools, or with the
DOTNET_STARTUP_HOOKSenvironment variable set can block Hot Reload. - Method signature changes: Adding, removing, or changing parameters or return types often cannot be applied live; Rider will notify you and require a manual restart.
- Static field values: Hot Reload does not re‑initialize static fields, so their values persist across edits, which may lead to unexpected behavior.
Practical verification
After performing the edit‑save step, check the following:
- The debugger toolbar’s Hot Reload icon remains highlighted.
- The status bar displays a short lightning‑bolt message indicating that changes were applied.
- At the breakpoint, the console shows the new string you entered.
- If you see a notification that Hot Reload failed, consult the IDE’s event log for details and consider a restart.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.