.NET是否存在机器级与用户级appsettings.json?新旧配置层级对应关系问询
旧.NET Framework四级.config配置与新.NET JSON配置体系对应关系
以下为各级配置的等效实现:
- 对应 machine.config(机器全局级配置):新.NET中对等的是全局共享配置文件,通常放在.NET安装路径的共享框架目录下的
appsettings.json,或系统级runtimeconfig.json,对当前设备上所有使用对应版本.NET runtime的应用生效,优先级为四级最低。如果使用默认配置构建器,也可通过加载机器级环境变量实现同等全局生效效果。 - 对应 app.config(应用程序目录级配置):最常用的等效是应用根目录下的
appsettings.json,以及配套的环境差异化配置如appsettings.Development.json,仅对当前应用生效,优先级高于机器全局配置。和应用同名的{程序名}.runtimeconfig.json也承担部分旧app.config的运行时配置功能。 - 对应用户漫游目录下的 user.config:新.NET没有内置自动加载的对应文件,常规实现为在用户漫游目录(Windows下为
%APPDATA%,Linux/macOS下为~/.config)下创建专属的<厂商名>/<应用名>/appsettings.json,需手动添加到配置构建器的加载链中,优先级高于应用目录配置,配置内容会跟随用户账号跨设备同步。 - 对应用户本地目录下的 user.config:等效为用户本地配置目录(Windows下为
%LOCALAPPDATA%,Linux/macOS下为~/.local/share)下的<厂商名>/<应用名>/appsettings.json,同样需要手动加入配置加载链,优先级为四级最高,配置仅对当前设备的当前用户生效,不会跨设备同步。
注意:新.NET的配置体系为可自定义的模块化结构,以上各级用户级配置默认不会自动加载,你可以根据需求调整加载顺序,和旧.config的优先级保持一致即可。
内容的提问来源于stack exchange,提问作者Iuga Alexandru
相关产品推荐
相关产品推荐

