![](/img/trans.png)
[英]IOptions not getting the values from appsettings.Development.json
[英]Issue in reading a value from appsettings.Development.json
我有一个程序,我想以单个 exe 文件的形式发布,用户可以根据需要更改 appsettings 来使用它。 一些设置仅用于开发(包含在 appsettings.Development.json 中,并且此文件未发布),其中一些是生产所需的(包含在 appsettings.json 中)。 为了更好地说明,请考虑以下代码为 appsettings.Development.json
{
"SettingA":
{
"ItemA" : "some value"
},
"SettingB":
{
"ItemB": ["1010","2020","3030"]
}
}
SettingA 供开发和生产使用,用户可以更改该值
SettingB 仅供开发使用,用户无法更改该值
所以 appsettings.json 就像,它被发布供用户更改:
{
"SettingA":
{
"ItemA" : "some value"
}
}
为了在生产中使用这个程序,还需要将 SettingB 设置为默认值,如下所示:
class SettingB
{
public string[] ItemB {get; set;} = new string[]{"*"}
}
但是,问题是当我想在开发中使用它时,我希望 ItemB 被 appsettings.Development.json 中的值覆盖,而不是我得到这个:
似乎不是被替换,而是将这些值添加到默认值中。
我在这里有两个问题:
顺便说一句,我使用选项来读取设置。
我在这篇文章中找到了我第二个问题的答案。 令人惊讶的是,这些数组是按设计合并的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.