IIS调试ASP.NET Core项目

IIS调试ASP.NET Core项目

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

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

    链接页服务器

    ​ 发布方法:Web部署app

    ​ 服务器:localhost框架

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

    设置页webapp

    ​ 配置:Debug工具

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

    ​ 部署模式:框架依赖.net

    ​ 目标运行时:可移植

  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!