IIS调试ASP.NET Core项目

戏子无情 提交于 2020-05-04 04:42:55

IIS调试ASP.NET Core项目

  1. 新建一个ASP.NET Core Web项目,选择API模板或随便一个模板都行

  2. 新建一个名为localhost的发布(没试过远程主机,或许也可以),主要设置如下:

    连接页

    ​ 发布方法:Web部署

    ​ 服务器:localhost

    ​ 站点名称:Default Web Site/{任意合法名称}

    设置页

    ​ 配置:Debug

    ​ 目标框架:与项目所用框架一致 (当前选的netcoreapp2.2)

    ​ 部署模式:框架依赖

    ​ 目标运行时:可移植

  3. 执行发布,会在IIS中自动创建站点和应用程序池,检查创建的应用程序池是否为:无托管代码 + 集成

  4. 浏览该网站,确保能正常打开

  5. 在Visual Studio中选择"调试\附加到进程..."菜单,在弹出的对话框中选择相应的进程

    可以输入关键字"w3wp"来过滤出IIS进程,ASP.NET Core网站进程在类型列的值为"托管(CoreCLR)",还可以通过用户名列进一步分辨。

    如果没有见到相关进程,可以尝试按一按[刷新]按钮。

    附加成功后,在相应的方法内部加断点,然后通过浏览器访问该方法,断点将会命中。

  6. 还有一种一步到位的调试方法,打开项目属性对话框,选择"调试"页,新建一个配置(例如名为IIS)

    启动:IIS

    参数:默认没有

    √启动浏览器:可指定启动时浏览的URL,不指定则浏览默认页面

    环境变量:ASPNETCORE_ENVIRONMENT = Development

    Web 服务器设置

    ​ 应用URL:{网站路径} 如:http://localhost/webapplication1

    ​ 托管模型:默认

    在工具条上选择刚才创建的调试配置(IIS),然后按绿色三角图标开始调试,断点一样会命中。

    此外,这种方式能调试Program.cs和Startup.cs文件内的方法,在开始调试之前需要先结束已经运行的站点实例,简单一点的做法就是重启IIS中的相应网站。

  7. 注意,在修改了代码之后,必须再次发布到IIS才能调试新的代码,不过有"Web 一键式发布"功能,发布都是So Easy!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!