1. 安装包
Microsoft.Extensions.Configuration.Abstractions
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.EnvironmentVariables
2. 特性
- 对于配置的分层键,支持用双下划线“__”代替冒号“:”
- 支持根据前缀加载
3. 添加配置
1. 右键项目->属性->调试->环境变量
2. 添加如下环境变量
3. 保存后自动同步到launchSettings.json文件中environmentVariables变量下。
4. 常规用法及分层键
public static void Main(string[] args)
{
var build = new ConfigurationBuilder();
build.AddEnvironmentVariables();
var config = build.Build();
Console.WriteLine($"Redis_key:{config["Redis_key"]}");
Console.WriteLine($"Redis_key2:{config["Redis_key2"]}");
Console.WriteLine($"Mq_key:{config["Mq_key"]}");
//分层键
var section = config.GetSection("Section");
Console.WriteLine($"Section:key4:{config["key4"]}");
CreateHostBuilder(args).Build().Run();
}
5. 指定前缀
public static void Main(string[] args)
{
var build = new ConfigurationBuilder();
build.AddEnvironmentVariables("Redis_");
var config = build.Build();
Console.WriteLine($"Redis_key:{config["key"]}");
Console.WriteLine($"Redis_key2:{config["key2"]}");
CreateHostBuilder(args).Build().Run();
}
6. launchSettings.json文件部分内容
"environmentVariables": {
"Section__key4": "value4",
"Mq_key": "value3",
"Redis_key": "value1",
"Redis_key2": "value2",
"ASPNETCORE_ENVIRONMENT": "Development"
},