dotnet core 中的組態和環境變數

dotnet core 中的組態和環境變數是兩個完全不相關的概念

  1. 組態用於快速切換 code 中 DEBUG 和 RELEASE 區塊
1
2
3
4
5
6
7
8
function string test()
{
#if DEBUG
return "DEBUG";
#else
return "RELEASE";
#endif
}
  1. 環境變數 appsetting.json, appsetting.{name}.json
  • 如果需要在本機環境模擬不同的環境,在 .NET Core 中可以透過設定 properties\launchSettings.json 檔案定義目前應用程式運行的環境,在.NET 應用程式執行啟動時會先讀取 launchSettings.json ,檔案中的 environmentVariables 會覆寫系統環境的設定值
  • 在發布的 .pubxml 中可以增加以下 code 指定環境
1
2
3
4
5
6
<Project>
<PropertyGroup>
<!-- ... -->
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
</Project>
  • windows 設置環境變數
1
setx ASPNETCORE_ENVIRONMENT "Development"
  • Linux 或 macOs 設置環境變數
1
export ASPNETCORE_ENVIRONMENT=Development