ASP .NET CORE 根据环境变量支持多个 appsettings.json

 

在项目开发的过程中,我们一般都会根据开发环境和生产环境编写两套配置文件。我们该怎么做才能实现一个项目根据环境来自动切换配置文件呢?

我们来看看微软的官方文档:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/ ,一个应用程序的配置可以来自多个地方,比如命令行参数,环境变量,json文件,xml文件等等,其中和本文最相关的就是这段:

A typical sequence of configuration providers is:

  1. Files (appsettings.json, appsettings.<Environment>.json, where <Environment> is the app's current hosting environment)
  2. User secrets (Secret Manager)  (in the Development environment only)
  3. Environment variables
  4. Command-line arguments

其中第一条已经写得很明白了,appsettings.json, appsettings.<Environment>.json 这部分文件都会默认的被加载到项目里。其中的<Environment> 是名为"ASPNETCORE_ENVIRONMENT"的环境变量(https://andrewlock.net/how-to-set-the-hosting-environment-in-asp-net-core/)。不配置的时候默认是Production,Visual Studio在LaunchSetting.json中配置成了Development,它可以是任何值。Asp.net core应用也会根据这个变量去加载相应的配置文件。比如Production环境下如果不配置ASPNETCORE_ENVIRONMENT就会默认的去加载appsettings.json和appsettings.Production.json。

值得注意的一点是appsettings.json的优先级是低于appsettings.<Environment>.json的。appsettings.<Environment>.json可以覆盖appsettings.json中的配置项。

转载于:https://www.cnblogs.com/axel10/p/9703548.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值