使用环境变量覆盖ASP.NET 5嵌套配置

时间:2015-08-05 18:10:54

标签: powershell asp.net-core

如果配置文件中包含嵌套结构,那么在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这样的下划线不起作用。

1 个答案:

答案 0 :(得分:3)

您可以通过将变量名称括在大括号中来定义/访问名称中包含冒号(或其他特殊字符)的环境变量:

statement|digit|statement

statement|digit|statement