ASP.NET Core 根据环境变量支持多个 appsettings.json配置文件 (开发和生产)

新建一个项目,web根目录会出现一个 appsettings.json  配置文件,

此时添加--新建项,输入  appsettings.Development.json

再新增一个,appsettings.Production.json

最后新增完毕,会发现  appsettings.json 下面有两个配置文件

 在两个配置文件中,输入自己的环境配置。比如数据库链接串,配置信息等。

如果发布之后,想自定义读取自己设置的配置文件信息,

对于 服务器 部署: 将 <EnvironmentName> 属性包含在发布配置文件 (.pubxml) 或项目文件中。 

<PropertyGroup>
   <EnvironmentName>Production</EnvironmentName>
</PropertyGroup>

  指定文件路径,如图:

发布后会生成一个web.config文件,这个配置文件,只有发布之后,才会出现,我们可以通过查看<environmentVariable >节点来确定当前的环境变量配置

也可以手工修改,value的值,修改成 Development   、  Staging  都可以,前提是这两个配置文件都必须有,要不然系统就默认读取 appsettings.json

        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
        </environmentVariables>

  

 注意事项:

微软默认增加了3个子配置文件:

 框架仅支持三个值:DevelopmentStaging 和 Production

因此我们先在项目中添加

appsettings.Development.json   开发环境的配置

appsettings.Production.json       生成环境的配置

appsettings.Staging.json           分阶段的环境的配置

无论 ASPNETCORE_ENVIRONMENT设置为Development、Staging、Production,只要项目中有appsettings.Production.json,那项目发布后运行时默认会读取Production的配置。

无论 ASPNETCORE_ENVIRONMENT设置为Development、Staging、Production,只要项目中没有appsettings.Production.json那项目发布后运行时就会仅读取appsettings.json的配置。

开发时设置环境变量

相信自己,一切皆有可能!
原文地址:https://www.cnblogs.com/zhaocici/p/14933203.html