1、.NET Core是支持多環境開發的,以解決我們之前的項目中出現的總是要替換配置文件的情況
2、准備工作
ASP.NET Core在應用啟動時讀取環境變量ASPNETCORE_ENVIRONMENT,ASPNETCORE_ENVIRONMENT可以設置任意值,但框架僅支持三個值:Development、Staging 和 Production,因此我們先在項目中添加appsettings.Development.json、appsettings.Production.json和appsettings.Staging.json以備用。
項目默認生成的appsettings.json用來存放公共配置,當我們設置Development環境時,最終的配置項是appsettings.Development.json和appsettings.json求並集的結果,若兩文件有同名配置項則以appsettings.Development.json為准,其他環境同理。
3、開發時設置環境變量
ASPNETCORE_ENVIRONMENT設置為Development,那在VS中調試的時候就會讀取appsettings.Development.json的數據
ASPNETCORE_ENVIRONMENT設置為Production,那在VS中調試的時候就會讀取appsettings.Production.json的數據

4、發布后設置環境變量
無論 ASPNETCORE_ENVIRONMENT設置為Development、Staging、Production,只要項目中有appsettings.Production.json,那項目發布后運行時默認會讀取Production的配置。
無論 ASPNETCORE_ENVIRONMENT設置為Development、Staging、Production,只要項目中沒有appsettings.Production.json,那項目發布后運行時就會僅讀取appsettings.json的配置。
若想在發布后動態設置環境變量,可以通過修改web.config的方式來實現,Core項目中默認是沒有web.config文件的,但是發布后會生成一個web.config文件,我們可以通過添加<environmentVariable >節點來設置環境變量:
最后,官方說明,鏈接地址
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments?view=aspnetcore-2.1

