dotnet watch 是.net core的一个工具,它能实时监视项目文件夹中的文件变动,一旦发生变动,能自动编译并重新运行程序。
你可以用vscode来测试一下。在vscode自带的终端新建一个mvc的项目,然后在.csproj文件中的ItemGroup项加入下面这段代码:
DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0"

然后运行dotnet restore命令,就可以在项目中使用dotnet watch了。
1. 在终端里输入dotnet watch run并敲回车,终端会输出这些:
watch : Started
Hosting environment: Production
Content root path: C:\Users\myname\Desktop\jwt\JwtSample
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
这样程序就启动起来了,可以在浏览器里访问localhost:5000看看。
2.随意改动一些代码并保存,dotnet watch会监测到文件的变动,并在终端输出类似以下代码:
watch : File changed: C:\Users\myname\Desktop\jwt\JwtSample\Controllers\ValuesController.cs
watch : Started
Hosting environment: Production
Content root path: C:\Users\myname\Desktop\jwt\JwtSample
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
这时你刷新浏览器的页面,会发现代码改动已经生效,是不是很方便?无需你手动重新编译并运行程序了。
使用dotnet watch运行dotnet命令
任何与dotnet有关的命令都可以以dotnet watch这样的方式运行:例如:
dotnet run>>>>dotnet watch run
dotnet run -f net451>>>>dotnet watch run -f net451
dotnet run -f net451 -- --arg1>>>>dotnet watch run -f net451 -- --arg1
dotnet test >>>> dotnet watch test