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

如何在.NET 6项目中读取环境变量?

.NET 6 环境变量读取与对应配置文件加载实现方案

核心实现方式

.NET 6 中读取环境变量、加载对应appsettings.json有两种兼容实现方式,可按需选择:

  • 方式1:沿用.NET Core 3.1的原生读取逻辑,完全兼容无需修改
    直接调用Environment.GetEnvironmentVariable读取系统环境变量即可,该方法在.NET 6中没有任何变更:
    var builder = WebApplication.CreateBuilder(args);
    // 读取ASPNETCORE_ENVIRONMENT环境变量
    string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
    
  • 方式2:使用.NET 6 构建器封装的环境属性
    你提到的builder.Environment是IWebHostEnvironment类型对象,需要读取它的EnvironmentName属性才能拿到环境值:
    var builder = WebApplication.CreateBuilder(args);
    // 直接通过构建器获取环境名,底层已经自动读取了ASPNETCORE_ENVIRONMENT的值
    string environment = builder.Environment.EnvironmentName;
    

配置文件加载说明

实际上WebApplication.CreateBuilder初始化时已经默认实现了配置文件的自动加载逻辑,优先级如下:

  1. 加载基础配置appsettings.json
  2. 加载对应环境的配置appsettings.{EnvironmentName}.json
  3. 加载环境变量配置
  4. 加载命令行参数配置
    如果需要额外自定义加载逻辑,可以手动修改Configuration配置源:
var builder = WebApplication.CreateBuilder(args);
string environment = builder.Environment.EnvironmentName;
// 手动追加自定义配置文件
builder.Configuration
    .AddJsonFile($"appsettings.{environment}.json", optional: true, reloadOnChange: true)
    .AddEnvironmentVariables();

var app = builder.Build();
// 后续业务逻辑...
app.Run();

内容的提问来源于stack exchange,提问作者o..o

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:24:07