ASP.NET Core 在 Visual Studio 中的开发及生产环境发布流程是怎样的?
开发环境与生产环境运行逻辑差异
- 开发环境:基于Visual Studio自带的IIS Express或内置Kestrel服务器运行,默认加载
appsettings.Development.json配置,启用详细错误页、调试符号加载、热重载等开发专属功能,优先级为调试便利性优先,不做性能优化。 - 生产环境:通常以IIS作为反向代理转发请求至ASP.NET Core自带的Kestrel服务器运行,默认加载
appsettings.Production.json配置,关闭调试相关功能,启用静态资源压缩、缓存、生产级日志规则,优先级为稳定性、性能、安全性优先。
ASP.NET Core项目通过Visual Studio部署到IIS生产环境步骤
- 项目配置调整:提前在
appsettings.Production.json中修改生产环境所需的数据库连接字符串、日志等级、第三方服务密钥等配置,避免硬编码开发环境参数。 - 生成发布包:右键Visual Studio中的项目,选择「发布」,发布目标选择「文件夹」,自行指定本地输出路径,发布配置选择
Release,目标运行时可根据生产服务器系统选择对应版本(如win-x64),点击发布后即可生成可部署的生产环境文件,文件结构如下:
本地源代码文件夹结构参考:
- 服务器IIS环境准备:先在生产服务器安装对应版本的ASP.NET Core托管捆绑包,安装完成后执行
iisreset命令重启IIS,确保IIS可识别ASP.NET Core应用。 - IIS站点创建:在IIS管理器中新建网站,物理路径指向上传到服务器的发布文件夹,配置站点绑定的域名/端口;对应应用程序池的.NET CLR版本需设置为「无托管代码」,托管模式选集成模式。
- 权限配置:给发布文件夹添加
IIS_IUSRS用户的读取、执行权限,避免访问时出现权限不足报错。 - 验证运行:访问配置的站点地址测试可用性,若出现报错可查看发布文件夹内的运行日志,或临时启用stdout输出排查问题。
内容的提问来源于stack exchange,提问作者Stefan Cosic
相关产品推荐
相关产品推荐

