.NET 监视器
dotnet watch 是包含在 .NET SDK 中的 CLI 工具。 它会监视项目中的文件更改——包括 .cs 、 .csproj 、 .resx 以及 static 内容文件——并自动重启或 hot-reload 目标应用程序。 JetBrains Rider 提供了专门的 运行配置 ,可让你直接在 IDE 中使用 dotnet watch。
启用 .NET 监视器运行配置插件
此功能依赖于 .NET 监视器运行配置 插件,默认在 JetBrains Rider 中随附并启用。 如果相关功能不可用,请确保没有禁用该插件。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 .NET 监视器运行配置 插件,然后选中插件名称旁的复选框。
dotnet watch 与 hot reload
JetBrains Rider 内置支持 热重载 ,可随时将代码更改应用到正在运行的应用程序。 dotnet watch 提供了一种更自动化的替代方案:它会监控文件更改,并在需要时自动应用热重载或重启应用程序。
热重载通过替换已更新的方法体来保留应用程序状态,无需重启进程。 但某些更改会被识别为 不支持的编辑 ,无法热重载:
添加、更新或移除
await表达式添加、更新或移除
yield表达式修改顶层语句、lambda 表达式或查询表达式
更改类型签名、继承或泛型约束
当发生不支持的编辑时, dotnet watch 可以提示你重启,或者如果 DOTNET_WATCH_RESTART_ON_RUDE_EDIT 环境变量被设置为 true 则自动重启。
当你的应用程序大量依赖一次性注册(如 ASP.NET Core Minimal API 端点配置)且每次变更都希望完全重启时,建议 dotnet watch 关闭热重载。
创建 .NET 监视器运行配置
转到 。
点击 + 并选择 dotnet-watch。
配置运行配置选项:
项目: 选择要运行的项目。
目标框架: 如果项目有多个目标,请选择目标框架。
监视实参: 传递给
dotnet watch的附加实参(例如,--no-hot-reload用于禁用 hot reload)。程序实参: 传递给应用程序的实参。
工作目录: 设置进程的工作目录。
环境变量: 设置进程的环境变量。 例如,将
DOTNET_WATCH_RESTART_ON_RUDE_EDIT设置为true可在发生不支持的编辑时自动重启。详细程度: 设置输出详细级别为
--quiet、默认或--verbose。禁止热重载: 开关热重载功能。

点击 确定 以保存配置。
使用 dotnet watch 运行
在工具栏选择 .NET 监视器运行配置并点击 运行。 dotnet watch 进程将在 运行工具窗口 中启动,在此可以查看应用程序输出和监视状态信息。
应用程序运行后,编辑任意已监视文件并保存。 根据你的配置, dotnet watch 会对变更进行热重载或重启应用程序。