如何在环境变量中覆盖 appsettings.json 中基于数组的设置?

Kei*_*son 3 asp.net azure .net-core

我在 appsettings.json 中有以下配置

"AvailableThemes": {
    "DefaultThemeKey": "abt",
    "Themes": [
      {
        "ThemeKey": "xc",
        "ThemeTitle": "XC 13"
      },
      {
        "ThemeKey": "abt",
        "ThemeTitle": "Taxis"
        "RegistrationSupported": true,
        "IntroText": "Hello",
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要能够在环境变量中覆盖 RegistrationSupported,以便我可以在禁用注册的情况下部署站点,并在链接的站点上线时启用它。

可用主题:主题:注册支持

但这是行不通的,因为它不知道要覆盖哪个项目。我试过这样的索引器......

可用主题:主题[1]:支持注册

...这不起作用。

Kei*_*son 5

发布后几乎立即找到了答案。索引器是正确的方法,但语法是错误的。

应该没有方括号...

可用主题:主题:1:支持注册

完整的文章在这里 -如何使用环境变量覆盖 ASP.NET Core 配置数组设置