咱们在作网站开发的时候,一般是写好了一个功能就要进行测试,Visual Studio上点“Start Debugging”(快捷键是F5),这是调试模式,也有直接运行模式,“Start Without Debugging”(快捷键是Ctrl+F5),网站启动,而且默认会打开一个浏览器窗口让你看到结果,假如这个时候你发现点问题,须要调整代码……html
若是是cshtml、aspx、ashx或asmx这类非C#文件(*.cs),无论是调试模式仍是非调试模式,直接点保存,就生效了,网站一刷新页面,第一次访问到它们,它们就会自动被编译,从新生成可执行代码。浏览器
若是你尝试在调试中修改cs文件,会获得这么一个错误提示:工具
你得先把程序暂停了,才能对它进行修改,暂停的办法有两种,一种是断点,程序跑到断点处就自动暂停了,另外一种是直接点“Break All”(快捷键是Ctrl+Alt+Break),暂停了程序,就能够对cs文件进行修改了,修改好以后,点一下“Continue”(快捷键F5),就生效了,神奇的是:你甚至不须要点保存。测试
固然了,这还得有个前提,就是你的Visual Studio开启了这个选项:网站
若是没开启这个选项的话,你在调试中能够继续编辑C#代码,能够保存,但不会生效。ui
你能够直接修改cs文件,没有任何问题,保存,看看是否起做用?——答案是否。由于承载着你的程序的容器——IIS Express并不知道你修改了源代码,你须要从新编译一下,点一下“Build Solution”(快捷键F7),而后就生效了。固然对非ASP.NET程序来讲,这招行不通,由于程序运行时,EXE文件是写保护的,这跟ASP.NET程序的运行原理不同。spa
但愿经过这几种方式,可以提升你们的网站开发效率。命令行
对于.NET Core程序来讲,还有另一种方法,就是使用“Microsoft.DotNet.Watcher.Tools”工具。在项目的csproj中加入这么一行:调试
<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />
接下来在项目的目录下(也就是csproj所在的目录下),执行一次dotnet restore(这个不用每次都执行),而后执行dotnet watch run。程序就跑起来了。rest
接下来你对C#代码的修改都会被Watcher观察到,并自动编译你的代码和重启你的程序,这个过程不须要你额外本身去Build和Run,固然你程序若是有错,它也会显示出来Build失败,失败的话不会重启程序,继续跑着旧版。
因为须要打开命令行界面,因此总感受有点麻烦,速度嘛,相比前面提起的手动Build Solution,好像也快不去哪里。用不用本身看。