对于开发过程的效率帮助:
- asp.net core原生应用热更新,包括Razor界面、C#代码文件等的修改后触发重载。
- 在使用热更新模式后,同时可以进行调试。
热更新(重载)命令为:
dotnet watch run
详细了解:Using a file watcher(官方文档5.0)
一、使用VS Code中的调试配置:
Note:第一次使用VS Code 打开项目文件夹,右下角会提示是否生成调试配置文件:
点Yes即会生成默认调试配置文件:
。
默认生成调试配置JSON文件如下:
launch.json
![](https://i-blog.csdnimg.cn/blog_migrate/3e9130ea7dd0bc2e012ec7999b8c3527.png)
tasks.json
上面两图可以看到,默认launch.json 中的.Net Core Launch (Web) 调试配置项中 preLaunchTask 的属性值为build,对应于tasks.json文件中的 "label" : "build"。我们需要使用dotnet watch run命令来实现热重载,正好tasks.json中已有这一label,所以我们只需修改launch.json中的preLaunchTask的属性值为watch。
如下保存即可:
二、使用热重载模式后,如何进行调试?
![](https://i-blog.csdnimg.cn/blog_migrate/7d2e1b6069ad0cb10e336305522ad6f2.png)
先启动1,asp.net core应用会在界面下方Terminal中显示运行:
然后在上方点stop结束,该操作并不会结束Terminal中asp.net core程序的运行。
接着选择图二中的2,启动:
默认会显示当前系统进程的下拉列表,如上,为了方便可以将
.Net Core Attach调试配置项的"processId": "${command:pickProcess}",去掉。替换为:"processName": "ContosUniverity.exe",本文以官方演示项目ContosUniversity为例。
然后按ESC取消选择列表,然后重新启动2,即可完成Attach附加,可以进行调试。
三、存在的问题为:
1.在调试过程中如果修改了文件,那么asp.net core 程序重载后,Attach调试会自动停止,需要再次启动。
2.在.Net Core Attach调试配置项中,添加
希望实现:以热重载模式运行程序后,接着进行Attach。结果:Attach这步没有成功。
欢迎大佬留言解答及更好的建议。