IIS调试ASP.NET Core项目
IIS调试ASP.NET Core项目
-
新建一个ASP.NET Core Web项目,选择API模板或随便一个模板都行
-
新建一个名为localhost的发布(没试过远程主机,或许也可以),主要设置如下:
连接页
发布方法:Web部署
服务器:localhost
站点名称:Default Web Site/{任意合法名称}
设置页
配置:Debug
目标框架:与项目所用框架一致 (当前选的netcoreapp2.2)
部署模式:框架依赖
目标运行时:可移植
-
执行发布,会在IIS中自动创建站点和应用程序池,检查创建的应用程序池是否为:无托管代码 + 集成
-
浏览该网站,确保能正常打开
-
在Visual Studio中选择"调试\附加到进程..."菜单,在弹出的对话框中选择相应的进程
可以输入关键字"w3wp"来过滤出IIS进程,ASP.NET Core网站进程在类型列的值为"托管(CoreCLR)",还可以通过用户名列进一步分辨。
如果没有见到相关进程,可以尝试按一按[刷新]按钮。
附加成功后,在相应的方法内部加断点,然后通过浏览器访问该方法,断点将会命中。
-
还有一种一步到位的调试方法,打开项目属性对话框,选择"调试"页,新建一个配置(例如名为IIS)
启动:IIS
参数:默认没有
√启动浏览器:可指定启动时浏览的URL,不指定则浏览默认页面
环境变量:ASPNETCORE_ENVIRONMENT = Development
Web 服务器设置
应用URL:{网站路径} 如:http://localhost/webapplication1
托管模型:默认
在工具条上选择刚才创建的调试配置(IIS),然后按绿色三角图标开始调试,断点一样会命中。
此外,这种方式能调试Program.cs和Startup.cs文件内的方法,在开始调试之前需要先结束已经运行的站点实例,简单一点的做法就是重启IIS中的相应网站。
-
注意,在修改了代码之后,必须再次发布到IIS才能调试新的代码,不过有"Web 一键式发布"功能,发布都是So Easy!