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

.NET 7控制台应用如何读取appsettings.json根节点配置?

.NET 7 控制台应用读取 appsettings.json 到结构体的实现方法

1. 先确认 appsettings.json 的部署配置

你的 appsettings.json 格式已经符合要求,需要右键该文件,设置复制到输出目录为「如果较新则复制」,保证程序运行时能读取到配置文件。

2. 绑定配置到 Settings 结构体

你已经初始化了 Host 构建器,接下来有两种简洁的方式完成配置绑定:

方式一:直接使用 Get<T> 方法

var host = Host.CreateApplicationBuilder().Build();

// 直接从配置根节点绑定到结构体
var settings = host.Configuration.Get<Settings>();

// 调用示例:Console.WriteLine(settings.Key1);

方式二:使用 Bind 方法

var host = Host.CreateApplicationBuilder().Build();

var settings = new Settings();
// 将配置根节点的值绑定到已创建的结构体实例
host.Configuration.Bind(settings);

3. 可选:通过依赖注入使用配置

如果后续需要在其他服务中注入配置,可以在 Host 构建阶段完成注册:

var host = Host.CreateApplicationBuilder();
// 注册配置,将根节点配置绑定到Settings类型
host.Services.Configure<Settings>(host.Configuration);
var app = host.Build();

// 从DI容器获取配置实例
var settings = app.Services.GetRequiredService<IOptions<Settings>>().Value;

注意点

因为你的 Settings 结构体使用了 required 修饰属性,必须保证 appsettings.json 中 Key1 和 Key2 都存在,否则绑定会抛出异常。如果需要允许可选配置,可以去掉 required 修饰,或者为属性设置默认值。

内容的提问来源于stack exchange,提问作者Michael Chudinov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:19:53