首页 > 解决方案 > 如何使用 microsoft.extensions.configuration 从配置文件中读取复杂对象

问题描述

我有以下配置文件

{
  "MyNamespace.Plugin": {
    "Setting": {
      "Path": "test"
    }
  }
}

并编写以下代码来阅读它

var config = new ConfigurationBuilder()
                .AddJsonFile("settings.json")
                .Build();

var configuration = config.GetSection("MyNamespace.Plugin");

Setting setting = configuration.GetValue<Setting>("Setting");

但是,我总是为setting. 不知道我哪里出错了。

标签: microsoft.extensions.configuration

解决方案


我能够做到以下几点

var configuration = settings.Configuration.GetSection("MyNamespace.Plugin");

var settingSection = configuration.GetSection("Setting");
var setting = new Setting();
settingSection.Bind(setting);

归功于 Microsoft.Configuration.Extensions 提出的问题:如何将部分/复杂值作为 json 字符串?


推荐阅读