ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch
1. 引言
我们一般的开发过程,就是编码-->编译-->运行-->调试-->定位问题--->修改代码-->编译-->...,循环往复,不辞辛劳,但其实内心是非常抗拒的。今天就介绍下.NET Core平台下的工具--dotnet watch。用于实时监视项目文件变动,若有文件变动,自动重新编译并运行项目,大大节省了我们重复编译运行调试的时间。
2. 使用说明
- 安装Microsoft.DotNet.Watcher.ToolsNuGet包
- 控制台执行
dotnet watch run即可。
然而如果你使用VS Code操作,你会遇到以下错误:
- 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.
- 未找到与命令“dotnet-watch”匹配的可执行文件
针对第一个问题,是因为我们默认安装的NuGet包是最新版本的,而目前最新版本为2.0.1,它依赖于:
- .NETCoreApp 2.0
- Microsoft.NETCore.App (>= 2.0.6)
所以我们需要检查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" />
ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch的更多相关文章
- ASP.NET Core知多少(6):VS Code联调Angular + .NetCore
ASP.NET Core知多少系列:总体介绍及目录 1. 引言 最近在看<程序员的成长课>,讲到程序员如何构建技能树,印象深刻.作为一名后台开发的程序员,深感技能单一,就别说技能树了.作为 ...
- ASP.NET Core 使用过滤器移除重复代码
USING ACTIONFILTERS TO REMOVE DUPLICATED CODE ASP.NET Core 的过滤器可以让我们在请求管道的特定状态之前或之后运行一些代码.因此如果我们的 ac ...
- ASP.NET Core知多少(13):路由重写及重定向
背景 在做微信公众号的改版工作,之前的业务逻辑全塞在一个控制器中,现需要将其按厂家拆分,但要求入口不变. 拆分很简单,定义控制器基类,添加公用虚方法并实现,各个厂家按需重载. 但如何根据统一的入口参数 ...
- ASP.NET Core 3.0 使用 gRPC无法编译问题
一.问题 创建了gRPC项目后,编译发现报错: 二.解决 1.检查项目路径是否存在中文 2.检查当前Windows用户目录是否为非英文字符,如果是则必须改为英文 修改方法: https://jingy ...
- ASP.NET Core 3.1 Razor 视图预编译、动态编译
1.安装NuGet包 Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 2.Startup.cs 配置 public ...
- .NET Core 3.0预览版7中的ASP.NET Core和Blazor更新
.NET Core 3.0 Preview 7现已推出,它包含一系列ASP.NET Core和Blazor的新更新. 以下是此预览中的新功能列表: 最新的Visual Studio预览包括.NET C ...
- 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...
- 一张图理清ASP.NET Core启动流程
1. 引言 对于ASP.NET Core应用程序来说,我们要记住非常重要的一点是:其本质上是一个独立的控制台应用,它并不是必需在IIS内部托管且并不需要IIS来启动运行(而这正是ASP.NET Cor ...
- ASP.NET Core 中断请求了解一下(翻译)
ASP.NET Core知多少系列:总体介绍及目录 本文所讲方式仅适用于托管在Kestrel Server中的应用.如果托管在IIS和IIS Express上时,ASP.NET Core Module ...
随机推荐
- 安装kafka过程及出现的问题解决
第一步:下载kafka安装包 下载地址:http://kafka.apache.org/downloads 解压 到/usr/local 目录 tar -zxvf kafka_2.12-2.2.0 第 ...
- json & pickle 模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 dump和load 都各自使用一次 py ...
- 卢卡斯定理——应用hdu4349
#include<bits/stdc++.h> using namespace std; int n; int main(){ while(cin>>n){ ; while(n ...
- python迭代器Itertools
https://docs.python.org/3.6/library/itertools.html 一无限迭代器: Iterator Arguments Results Example count( ...
- [转] 使用Node.js实现简易MVC框架
在使用Node.js搭建静态资源服务器一文中我们完成了服务器对静态资源请求的处理,但并未涉及动态请求,目前还无法根据客户端发出的不同请求而返回个性化的内容.单靠静态资源岂能撑得起这些复杂的网站应用,本 ...
- Nuxt.js国际化vue-i18n的搭配使用
Nuxt.js国际化的前提是,已经使用脚手架工具搭建好了Nuxt.js的开发环境. 我使用的环境是nuxt@2.3 + vuetify@1.4 + vue-i18n@7.3 1. 先安装vue-i18 ...
- go time模块
package main import ( "fmt" "time") func test() { time.Sleep(time.Millisecond * ...
- 如何明确区分代码中的1和l
如poly1d 单独将其复制到记事本,然后按ctrl+F,输入要查找的对象,数字1或者小写字母l,找到的对象会已高亮表示,所以就可以确定了高亮表示的是数字1还是字母l.
- Unity Shader Learning
Toon 表面没有均匀的阴影. 为了达到这个效果,我们需要一个斜坡图. 其目的是将朗伯光强度NdotL重新映射到另一个值. 使用没有渐变的渐变映射,我们可以强制照明逐步渲染.下图显示了如何使用斜坡图来 ...
- 【spring】-- jsr303参数校验器
一.为什么要进行参数校验? 当我们在服务端控制器接受前台数据时,肯定首先要对数据进行参数验证,判断参数是否为空?是否为电话号码?是否为邮箱格式?等等. 这里有个问题要注意: 前端代码一般上会对这些数据 ...