.Net Configuration配置优先级问题

1|0配置文件中key不区分大小写,所以请大胆使用驼峰.方便自己也方便他人.

2|0微软有话说

官方文档

Host.CreateDefaultBuilder(String[]) 方法按照以下顺序为应用提供默认配置:

1.ChainedConfigurationProvider:添加现有的 IConfiguration 作为源。
2.使用 JSON 配置提供程序通过 appsettings.json 提供。
3.使用 JSON 配置提供程序通过 appsettings.Environment.json 提供 。 例如,appsettings.Production.json 和 appsettings.Development.json 。
4.应用在 Development 环境中运行时的应用机密。
5.使用环境变量配置提供程序通过环境变量提供。
6.使用命令行配置提供程序通过命令行参数提供。

后来添加的配置提供程序会替代之前的密钥设置。 例如,如果在 appsettings.json 和环境中设置了 SomeKey,则会使用环境值。 通过默认配置提供程序,命令行配置提供程序将替代其他所有提供程序。

3|0源码探究

https://blog.csdn.net/sd7o95o/article/details/108353424

4|0最终结论

优先级从高到低
ConfigureAppConfiguration(自定义读取)>CommandLine(命令行参数)>Environment(环境变量)>appsetting.json(默认配置文件)

4|1补充一点-环境变量

  • VS启动设置的环境变量,优先级要高于电脑设置的环境变量
  • window用户的环境变量,优先级高于系统环境变量 (PATH变量除外)

__EOF__

本文作者永远不要停止学习的脚步
本文链接https://www.cnblogs.com/vsnb/p/15796770.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Bug专员  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示