ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch

ASP.NET Core知多少系列:总体介绍及目录

1. 引言

我们一般的开发过程,就是编码-->编译-->运行-->调试-->定位问题--->修改代码-->编译-->...,循环往复,不辞辛劳,但其实内心是非常抗拒的。今天就介绍下.NET Core平台下的工具--dotnet watch。用于实时监视项目文件变动,若有文件变动,自动重新编译并运行项目,大大节省了我们重复编译运行调试的时间。

2. 使用说明

  1. 安装Microsoft.DotNet.Watcher.ToolsNuGet包
  2. 控制台执行dotnet watch run即可。

然而如果你使用VS Code操作,你会遇到以下错误:

  1. error NU1605: Detected package downgrade: Microsoft.NETCore.App from 2.0.6 to 2.0.0. Reference the package directly from the project to select a different version.
  2. 未找到与命令“dotnet-watch”匹配的可执行文件

针对第一个问题,是因为我们默认安装的NuGet包是最新版本的,而目前最新版本为2.0.1,它依赖于:

所以我们需要检查Microsoft.NETCore.App的版本,我的是2.0.0不符合(>=2.0.6)的条件,这里我选择安装 2.0.0版本的Watch即可,命令行执行:
dotnet add package Microsoft.DotNet.Watcher.Tools --version 2.0.0。当然也可以升级安装2.0.6版本以上的Microsoft.NETCore.App,来解决这个问题。

针对第二个问题,则需要我们手动修改项目csproj文件。添加一个DotNetCliToolReference节点即可。
<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />

posted @ 2018-04-11 13:41  「圣杰」  阅读(1111)  评论(0编辑  收藏  举报