Reputation: 2108
I have a .NET Core console application. I'm trying to retrieve the environment variable using the below code.
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
However, the variable "environment" always return null. I set the environment variable "ASPNETCORE_ENVIRONMENT" through
Control Panel -> System Properties -> Environment Variables -> System Variables
I also tried setting the environment variable using the command set ASPNETCORE_ENVIRONMENT=development
, but that also did not work. When I debug the code (F5) in Visual Studio, the variable always return null. I have made sure that there aren't any spaces where I set the variable, or in my code where I read it. Is there anything I'm missing?
Upvotes: 27
Views: 36585
Reputation: 229
It works perfectly fine for me even when you start application using Visual Studio. You just have to keep in mind that VS should be restarted after any updates to environment variables (they are not updated on the fly).
Upvotes: 22
Reputation: 763
I think setting the environment variable would only work if you started your console application via dotnet run
:
When the ASPNETCORE_ENVIRONMENT environment variable is set globally, it takes effect for dotnet run in any command window opened after the value is set.
From: Use multiple environments in ASP.NET Core
Try setting it it your Debug properties.
Right click your project in Visual Studio and select Properties → Debug.
Set the environment variable as shown in the image below.
Upvotes: 25