.Net Core 多环境的配置、调试和部署
背景
工作需要配置多个环境,用于 开发Development、预览Staging、生产Production。
参考文献:
微软官方文档-配置
开始
.NetCore对多环境有很好的支持,默认会读取appsettings.{Environment}.json。 例如,appsettings.Production.json 和 appsettings.Development.json。
其中的Environment就是环境名称
配置
创建环境
项目中已经存在两个配置文件,它们对应的环境都是Development,也就是对应会读取appsettings.Development.json中的配置
创建配置文件,选择【项目】
修改【环境变量】、【应用URL】
ASPNETCORE_ENVIRONMENT=Staging
ASPNETCORE_ENVIRONMENT=Production
继续炮制一个Production
创建环境配置文件
接着创建环境对应的配置文件,直接复制两个appsettings.Development.json,并重命名为
appsettings.Staging.json
appsettings.Production.json
在配置文件中写入配置用以测试["CustomConfig": "这里是Development环境的配置"]
调试
这时已经可以在启动项目时选择不同的环境配置了,若选择Staging,就会读取appsettings.Staging.json
修改控制器代码,尝试读取配置
点击查看代码
[ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private readonly IConfiguration Configuration; public WeatherForecastController(IConfiguration configuration) { Configuration = configuration; } [HttpGet] public ActionResult GetCustomConfig() { return Content($@"读取CustomConfig配置为:{Configuration["CustomConfig"]}"); } }
部署
环境配置已经配好了,接下来我希望将文件发布到不同环境,能自动读取对应配置文件。
右键网站->发布,创建发布配置
创建配置后会生成PublishProfiles文件夹
在{Environment}.pubxml文件中添加环境参数:<EnvironmentName>Staging</EnvironmentName>
在站点点击发布,到发布位置打开web.config,可以看到多了环境变量参数。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库