默认应用程序配置源
从最高级到最低优先级
- 使用命令行配置提供程序的命令行参数。
- 使用无前缀环境变量配置提供程序的无前缀环境变量,
- 应用程序在环境中运行时的用户机密 Development 。
- appsettings.{Environment}.json使用JSON 配置提供程序。例如appsettings.Production.json和appsettings.Development.json
- appsettings.json使用JSON 配置提供程序。
- 回退到下一节中描述的主机配置。
默认主机配置源
- 使用命令行配置提供程序的命令行参数
- DOTNET_使用环境变量配置提供程序的前缀环境变量
- ASPNETCORE 使用环境变量配置提供程序的前缀环境变量,
对于.NET 通用主机和Web 主机,从最高优先级到最低优先级的默认主机配置源为:
- ASPNETCORE 使用环境变量配置提供程序的前缀环境变量。
- 使用命令行配置提供程序的命令行参数
- DOTNET 使用环境变量配置提供程序的前缀环境变量。
宿主机变量
以下变量在初始化主机构建器时被提前锁定,并且不会受到应用程序配置的影响:
- 应用名称
- 环境名称,例如Development、Production和Staging
- 内容根目录
- Web 根目录
- 是否扫描托管启动程序集以及扫描哪些程序集。
- 应用程序和库代码从lHostBuilder.configureAppConfiguration回调中的HostBuilderContext.Configuration读取的变量。
每个其他主机设置都是从应用程序配置而不是主机配置中读取的。URLS是众多常见主机设置之一,不是引导程序设置。与之前列表中未列出的所有其他主机设置一样,URLS稍后会从应用程序配置中读取。主机配置是应用程序配置的后备,因此主机配置可用于设置URLS,但它将被应用程序配置中的任何配置源(如)覆盖appsettings.json。