Asp.net

在 ASP.NET Core 中讀取環境變數

  • May 23, 2016

使用DNX執行我的 ASP.NET Core 應用程序,我能夠從命令行設置環境變數,然後像這樣執行它:

set ASPNET_ENV = Production
dnx web

在 1.0 中使用相同的方法:

set ASPNETCORE_ENVIRONMENT = Production
dotnet run

不起作用 - 應用程序似乎無法讀取環境變數。

Console.WriteLine(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"));

返回空

我錯過了什麼?

你的問題是周圍的空間=

這將起作用(在結束報價之前註意空格):

Console.WriteLine(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT "));

這段程式碼後面的空格ASPNETCORE_ENVIRONMENT不是錯字!問題中的問題是有額外的空間(在 SET… 中),因此您必須在 GetEnvironmentVariable() 中使用相同的空間。

正如Isantipov 在評論中指出的那樣,更好的解決方案是從 SET 命令中完全刪除空格:

set ASPNETCORE_ENVIRONMENT=Production

引用自:https://stackoverflow.com/questions/37387235