我有一个ASP.NET Core应用程序,其中包含appsettings.json
配置文件。文件中的一个设置由对象数组表示,就像这样:
{
"Globalization": {
"Languages": [
{
"DisplayName": "Ru",
"Code": "ru"
},
{
"DisplayName": "En",
"Code": "en"
}
]
}
}
在我们的CI系统中,我们使用环境变量来覆盖文件中的配置设置。结果发现我只能通过索引符号(例如
"Globalization__Languages__0__DisplayName"
)覆盖现有项目或添加新项目到数组中,但是我不能减少项数。
而且,在appsettings.{Environment}.json
中也是同样的情况,即使我只有一个项目,仍然会显示两个语言选项。
当然我可以让基础配置为空或者发明其他解决办法,但是我是否遗漏了什么?有没有一种简便的方式来覆盖设置并减少项数(最好是使用环境变量)?