在IIS中调试ASP.NET Core应用程序
IIS中的调试提供了更平滑的开发过程,无需考虑您的Web服务器是否正在运行。
我已经使用ASP.NET核心了一段时间,并且总是错过了Visual Studio中的直接IIS支持。必须记住启动项目才能启动IIS Express,这有点令人讨厌。在开发软件时,我们希望实际的调试和运行过程尽可能自动化,而使用IIS Express,它们根本不是。
简单地启动浏览器并立即调试JavaScript要快得多,而无需确保IIS Express站点实际运行。并且,无需启动和停止您的网站,使开发更快。
从本质上讲,目标是让您的Web服务器全天候运行,而不必三思而后行。因此,第一步是在您的开发机器上实际启用IIS:
启用IIS
- 导航到 控制面板 > 程序 > 程序和功能 > 打开或关闭Windows功能 (屏幕左侧)。
- 选中“ Internet信息服务” 复选框:
下一步是配置IIS并确保您具有SSL证书设置,以便在浏览器中安全地运行您的站点。如果您之前已经安装过IIS,只需在默认网站上添加HTTPS绑定以允许https
配置IIS
新网站的 主机名设置为“localhost”(启动配置文件也将在Visual Studio中使用“localhost”)。端口设置为“443”(HTTPS)。在 IIS Express开发证书分配给网站,但任何有效证书都有效:
前两个步骤很简单,无论您在应用程序中使用.NET框架还是.NET核心,都是一样的。我已经设法使用Visual Studio 2017使用IIS进行调试。因此,我强烈建议您安装Visual Studio 2017(如果尚未安装)。
接下来,我们必须在Visual Studio中启用开发时IIS支持:
在Visual Studio 2017中启用开发时IIS支持
- 启动Visual Studio安装程序。
- 选择 开发时间IIS支持 组件。该组件在ASP.NET和Web开发工作负载的“摘要”面板中列为可选项。该组件安装 ASP.NET核心模块,这是使用IIS运行ASP.NET核心应用程序所需的本机IIS模块:
现在,我们终于可以在VS2017中创建一个新的ASP.NET Core应用程序。好吧,还没有!我曾经访问过微软和其他开发人员的几篇文章,但他们都缺少关键组件:ASP.NET Core 2.2。不要使用2.1或任何其他版本。在没有2.2的情况下,我实际上无法在IIS中进行应用程序调试。但是,这是我写这样一篇文章的主要原因。我没有通过其他文章,也没有删除它,而是从他们身上学到了什么,并写了一篇更好的文章,实际上让开发人员无需了解重要信息。
您可以在此处下载.NET core 2.2:https://dotnet.microsoft.com/download/dotnet-core/2.2
现在,您已经安装了.NET核心SDK 2.2,我们最终可以创建一个新项目:
创建新的ASP.NET Core 2.2项目
确保在创建新项目时选中“配置HTTPS ”复选框:
接下来,我们需要在新项目中配置调试选项卡。这涉及设置启动配置文件以正确启动IIS:
IIS启动配置文件
创建新的启动配置文件以添加开发时IIS支持:
- 对于Profile,选择New按钮。在弹出窗口中将配置文件命名为“IIS”。选择“确定”以创建配置文件。
- 对于“启动”设置,从列表中选择“IIS”。
- 选中“启动浏览器”复选框并提供端点URL。使用HTTPS协议。此示例使用https:// localhost/TestIISWithCore。
- 在“环境变量”部分中,选择“添加”按钮。提供名称为ASPNETCORE_ENVIRONMENT且值为Development的环境变量。
- 在“Web服务器设置”区域中,设置应用程序URL。将其设置为与您在步骤3中输入的URL相同。
- 保存配置文件:
您现在应该能够使用IIS调试您的应用程序。确保将构建配置设置为Debug,将配置文件设置为IIS。然后单击“运行”按钮以启动应用程序:
你完成了。您现在可以在IIS中正式调试ASP.NET Core应用程序。当然,这仍然是个人喜好的问题,我总是喜欢在IIS中调试我的应用程序而不是在IIS Express中。
原文地址:https://www.codeproject.com/Articles/1273958/Debugging-ASP-NET-Core-applications-within-IIS
在IIS中调试ASP.NET Core应用程序相关推荐
- IIS中的 Asp.Net Core 和 dotnet watch
在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录.然后build一下就可以 ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇 ...
- 实施ASP.NET Core应用程序的常见陷阱
Special thanks to Matthew Wilkin for kindly helping to peer review this article. 特别感谢Matthew Wilkin慷 ...
- Linux使用Jexus托管Asp.Net Core应用程序
第一步 安装.Net Core环境 安装 dotnet 环境参见官方网站 https://www.microsoft.com/net/core. 选择对应的系统版本进行安装.安装完成过后 输入命令查看 ...
- .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新
我们都知道在6月12日的时候微软发布了.NET Core 3.0的第6个预览版.针对.NET Core 3.0的发布我们国内的微软MVP-汪宇杰还发布的官翻版的博文进行了详细的介绍.具体的可以关注&q ...
- 运行Vue在ASP.NET Core应用程序并部署在IIS上
前言 从.NET Core 1.0开始我们就将其应用到项目中,但是呢我对ASP.NET Core一些原理也还未开始研究,仅限于会用,不过园子中已有大量文章存在,借着有点空余时间,我们来讲讲如何利用AS ...
- 更新丨.NET 7 预览版2 中的 ASP.NET Core
点击上方蓝字 关注我们 (本文阅读时间:6分钟) .NET 7 预览版2 现已推出,其中包括对 ASP.NET Core 的许多重大改进. 以下是此预览版中新增内容的摘要: • 推断来自服务的 AP ...
- .NET开发框架(五)-IIS上部署ASP.NET Core项目教程
在之前教程中,我们分享了框架的功能与视频演示介绍(文尾底部提供往期教程快捷链接) 系列教程:从初学者到架构师的一步步蜕变 本篇经验将和大家介绍如何在IIS上部署ASP.NET Core项目,希望对初学 ...
- 调试 ASP.NET Core 2.0 源代码
在Visual Studio 2017中可以通过符号以及源链接,非常方便对 ASP.NET Core 2.0中源代码进行调试.在这篇文章中,我们将重点介绍如何使用源链接对ASP.NET Core源进行 ...
最新文章
- 活动排序工具之双代号网络(AOA)与单代号网络(AON)[cont.]
- asp.net接受表单验证格式后再提交数据_创建一个注册界面,并记录到数据库中...
- XT910开通了GPRS却上不了网的原因--“数据漫游”功能关闭导致的
- Java管理Cookie增删改查操作
- 2018-11-25-今日总结
- 蜘蛛纸牌java注释_自己摸索的纸牌游戏代码,感觉还有很多知识不懂,任重道远啊!...
- glTF格式初步了解
- 挂接CreateProcessW实现对进程创建的完全控制
- 牛客OI周赛2-提高组
- 项目评测(共27组)
- restful soap_Web服务面试问题– SOAP,RESTful
- 简单的form表单文件上传
- 一些常用路由协议默认的AD值
- cadence入门学习
- 最新凌风云支付系统网站源码全解无后门V4.1.1版本
- 软考中级网络工程师学习技巧
- 2021秋软工实践第一次个人编程作业
- win10文件夹加密_Win10 系统优化软件 Windows 10 Manager v3.2.0
- 6T SRAM的基本结构及其读写操作
- idea 设置某个单词不显示下划线
热门文章
- 蚁群算法python_想要学习启发式算法?推荐你看看这个价值极高的开源项目
- 计算机网络地址解析协议实验,计算机网络地址解析协议(ARP)实验报告.doc
- 管家机器人先生txt_《管家机器人先生》(主角墨青如玉)大结局全文阅读
- 贵气烫金剪纸牛年新年春节海报PSD分层素材模板
- qq动态页面变方格_腾讯QQ音乐9.7.5正式版更新:「歌手主页个人主页」界面全新改版...
- java占位符填充_程序员:深入理解Java虚拟机,对象的内存布局
- zookeeper集群启动的时候有一个别没有启动成功,出现Error contacting service. It is probably not running解决方法
- printf 格式字符串的 正则化表达式
- Linux内核内存管理(1):内存块 - memblock
- DPDK examples rxtx_callbacks完全注释