安装库
Microsoft.Extensions.Configuration
根据需要安装相关的库
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.XML
Microsoft.Extensions.Configuration.Binder
using Microsoft.Extensions.Configuration;
加载配置文件
var initData = new List<KeyValuePair<string,string>>();
initData.Add(new KeyValuePair<String, string>("username", "niewei");
IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Enviroment.CurrentDirectory)
.AddJsonFile("appsettings.json")
.AddXmlFile("appsettings.xml")
.AddInMemoryCollection(initData)
.Build();
var info = configuration["username"];
如果同名,后面的覆盖前面的。
读取配置的方式
{
"mysql": {
"host":"192.168.0.1",
"port":3306
},
"ids": [10, 20, 30, 40]
}
弱类型方式
1、":"运算符, configuration["mysql:ids:0"]
2、GetSection, configuration.GetSection("mysql").GetSection("ids").GetSection("0").Value
强类型方式
1、GetValue, configuration.GetValue("mysql:port")
2、Bind、Get映射为实体类
Rootobject rootobject = new Rootobject();
configuration.Bind(rootobject);
或
var rootobject = configuration.Get();
另:Visual Studio打开Json文件并选中所有内容复制,在需要创建类的地方,选择菜单【编辑】【选择性粘贴】【将JSON粘贴为类】自动创建类定义。