ult*_*ife 6 asp.net powershell asp.net-core
如果配置文件中有嵌套结构,那么在 Powershell 等命令行环境中使用什么命名约定或变量名称格式来覆盖该值?
.NET config.json 文件:
{
"L1a": {
"L1a2a": {
"L1a2a1": "value"
},
"L2b": false
},
"L1b": false
}
Run Code Online (Sandbox Code Playgroud)
从 .NET 应用程序代码中,可以像这样访问配置值:
configObject["L1a:L1a2a:L1a2a1"];
configObject["L1a:L2b"];
configObject["L1b"];
Run Code Online (Sandbox Code Playgroud)
使用环境变量覆盖顶级值很容易 - 只需使用相同的键名:
$env:L1b = "true"
Run Code Online (Sandbox Code Playgroud)
如何在 Powershell 中设置环境变量以覆盖嵌套配置文件值?
L1a:L1a2a:L1a2a1和L1a-L2b不是有效的环境变量名称。使用下划线之类的L1a_L2b不起作用。
您可以通过将变量名称括在大括号中来定义/访问名称中包含冒号(或其他特殊字符)的环境变量:
${env:L1a:L1a2a:L1a2a1} = 'othervalue'
Run Code Online (Sandbox Code Playgroud)