如果配置文件中包含嵌套结构,那么在Powershell等命令行环境中使用什么命名约定或变量名称格式来覆盖该值?
.NET config.json文件:
context.Database.ExecuteSqlCommand(queryString));
从.NET应用程序代码中,可以像这样访问配置值:
{
"L1a": {
"L1a2a": {
"L1a2a1": "value"
},
"L2b": false
},
"L1b": false
}
使用环境变量覆盖顶级值很简单 - 只需使用相同的键名:
configObject["L1a:L1a2a:L1a2a1"];
configObject["L1a:L2b"];
configObject["L1b"];
如何在Powershell中设置环境变量以覆盖嵌套的配置文件值?
$env:L1b = "true"
和L1a:L1a2a:L1a2a1
不是有效的环境变量名称。
使用像L1a-L2b
这样的下划线不起作用。
答案 0 :(得分:3)
您可以通过将变量名称括在大括号中来定义/访问名称中包含冒号(或其他特殊字符)的环境变量:
statement|digit|statement
statement|digit|statement