dotnet-watch 是 asp.net 项目下的一个工具,用于实时监视项目文件夹中的文件变动,一旦有文件变动,自动重新编译并运行项目,在调试过程中,你将无需重复:修改源代码->CTRL+SHIFT+B编译->F5调试->发现问题->修改源代码........这样的开发循环,只需要以命令 dotnet watch run
启动应用,如下图所示,一边修改代码,一边查看运行结果。对于单元测试项目同样适用,只需要使用命令 dotnet watch test
启动测试。
使用该命令工具非常简单,只需要在 project.json
文件中的 tools 段添加引用 "Microsoft.DotNet.Watcher.Tools": "1.0.0-preview2-final"
当前版本是 1.0.0-preview2-final
,保存文件,如果是使用 VS 2015,会自动 Restore packages
, 如果是其他IDE开发,可以使用命令 dotnet restore
手动更新包。
深入阅读
如果你感兴趣该工具是如何工作的,其实实现部分很简单 dotnet-watch 源码中使用 DotnetFileWatcher
和 PollingFileWatcher
类来实现对文件系统中文件的变更检测,其中 DotnetFileWatcher
适用于有 FileSystemWatcher
功能实现的操作系统(比如:windows 系列操作系统), 而 PollingFileWatcher
适用于没有內建 FileSystemWatcher
功能的操作系统(比如:Linux),通过轮询的方式定时检查目录中文件的最后写入时间来判断文件是否发生了变更,一旦发现有文件发生改变,该工具将重新编译、启动应用。