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

.NET Core 3.1控制台应用Host.CreateDefaultBuilder未加载环境配置覆盖

问题根因

.NET Core 3.1 中Host.CreateDefaultBuilder默认读取的配置文件前缀为appsettings,你的配置文件命名为appconfig.json、appconfig.Development.json,不符合默认加载规则,所以环境配置文件没有被正确加载,调试中看到的空环境配置项实际是默认规则指向的不存在的appsettings.Development.json。

解决方案

可二选一实现需求:

  • 修改配置文件名(无代码改动,最简单)
    将你的两个配置文件重命名为appsettings.json和appsettings.Development.json,保留现有代码不变,重新运行即可拿到预期的Foo: Quz结果。
  • 保留现有文件名,手动指定配置加载规则
    修改Host构建逻辑,手动指定你的配置文件前缀,代码示例如下:
var builder = Host.CreateDefaultBuilder(args)
    .ConfigureAppConfiguration((hostContext, config) =>
    {
        var env = hostContext.HostingEnvironment;
        // 加载自定义前缀的配置文件
        config.AddJsonFile("appconfig.json", optional: false, reloadOnChange: true)
              .AddJsonFile($"appconfig.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
    })
    .ConfigureServices(ConfigureServices);
var host = builder.Build();

内容的提问来源于stack exchange,提问作者Reginald Blue

相关产品推荐
方舟 Agent Plan

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

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