You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中根据环境使用不同的appsettings配置文件

Azure Pipeline 多环境appsettings配置方案

你可以通过以下两种常用方案实现按需加载对应环境的配置文件,不需要额外修改业务代码:

方案1:使用Azure Pipeline内置的文件转换任务

该方案通用度高,不依赖.NET本身的配置加载逻辑:

  • 首先在Pipeline中定义4个对应部署环境的阶段(如Dev、Test、Staging、Prod)
  • 在每个阶段的部署步骤前,添加File transform文件转换任务,按如下规则配置:
    • 转换类型选择「JSON文件转换」
    • 包或文件夹路径选择构建生成的应用发布包路径
    • 转换规则填写:appsettings.<当前环境标识>.json => appsettings.json
      示例:Dev阶段规则配置为appsettings.Development.json => appsettings.json,Prod阶段规则配置为appsettings.Production.json => appsettings.json
  • 后续部署步骤直接使用转换后的appsettings.json即可

方案2:结合ASP.NET Core默认配置加载逻辑

ASP.NET Core默认会优先加载和运行环境ASPNETCORE_ENVIRONMENT变量值匹配的appsettings文件,配置步骤更简单:

  • 在每个部署阶段的变量配置中,新增名为ASPNETCORE_ENVIRONMENT的变量,值对应你的环境标识(如Dev环境填Development、Prod环境填Production)
  • 部署时确保该环境变量会被注入到应用的运行环境中
  • 应用启动时会自动优先读取appsettings.{ASPNETCORE_ENVIRONMENT值}.json的配置项,覆盖默认appsettings.json中的同名配置

注意事项

  • 提前确认所有appsettings文件都被设置为构建时复制到输出目录,项目的.csproj文件中需包含如下配置:
<ItemGroup>
  <None Update="appsettings*.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>
  • 如果是部署到Azure App Service,可直接在对应环境的应用服务配置页添加ASPNETCORE_ENVIRONMENT应用设置,无需修改Pipeline配置

内容的提问来源于stack exchange,提问作者Denilson Raimundo de Paula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 20:15:04