A .NET library to load environment variables from .env files. Supports .NET Core and .NET Framework
Available on NuGet
Visual Studio:
PM> Install-Package DotNetEnv
PM> Install-Package DotNetEnv.AspNetCore #if you're working on an asp.net core project
.NET Core CLI:
dotnet add package DotNetEnv
dotnet add package DotNetEnv.AspNetCore #if you're working on an asp.net core project
Will automatically look for a .env
file in the current directory
DotNetEnv.Env.Load();
You can also specify the path to the .env
file
DotNetEnv.Env.Load("./path/to/.env");
The variables in the .env
can then be accessed through the System.Environment
class
System.Environment.GetEnvironmentVariable("IP")
In your Startup.cs file, add the following imports:
using DotNetEnv;
using DotNetEnv.AspNetCore;
In your Configure
method, add the following:
app.UseDotNetEnv(); // to load the variables from the .env file
You can also control whitespace trimming and allowing hashes in values
DotNetEnv.Env.Load(false, false);
Both parameters default to true, which means:
trimWhitespace
, first arg: true in order to trim leading and trailing whitespace from keys and values such that
KEY = value
Would then be available as
"value" == System.Environment.GetEnvironmentVariable("KEY")
null == System.Environment.GetEnvironmentVariable(" KEY ")
False would mean:
" value" == System.Environment.GetEnvironmentVariable(" KEY ")
null == System.Environment.GetEnvironmentVariable("KEY")
isEmbeddedHashComment
, second arg: true in order to allow inline comments
KEY=value # comment
Would then be available as
"value" == System.Environment.GetEnvironmentVariable("KEY")
False would mean:
"value # comment" == System.Environment.GetEnvironmentVariable("KEY")
Which is most useful when you want to do something like:
KEY=value#moreValue#otherValue#etc
If you have found a bug or if you have a feature request, please report them at this repository issues section.
This project is licensed under the MIT license. See the LICENSE file for more info.