SharpDotEnv.Extensions.Configuration
0.3.1
dotnet add package SharpDotEnv.Extensions.Configuration --version 0.3.1
NuGet\Install-Package SharpDotEnv.Extensions.Configuration -Version 0.3.1
<PackageReference Include="SharpDotEnv.Extensions.Configuration" Version="0.3.1" />
paket add SharpDotEnv.Extensions.Configuration --version 0.3.1
#r "nuget: SharpDotEnv.Extensions.Configuration, 0.3.1"
// Install SharpDotEnv.Extensions.Configuration as a Cake Addin #addin nuget:?package=SharpDotEnv.Extensions.Configuration&version=0.3.1 // Install SharpDotEnv.Extensions.Configuration as a Cake Tool #tool nuget:?package=SharpDotEnv.Extensions.Configuration&version=0.3.1
SharpDotEnv
SharpDotEnv is a C# library designed to support reading and loading .env
files into the application environment.
Features
- Load
.env
files - Initialize environment with parsed environment variables
- Support
Microsoft.Extensions.Configuration
Installation
Install the NuGet package:
dotnet add package SharpDotEnv
To enable SharpDotEnv configuration provider install the NuGet package:
dotnet add package SharpDotEnv.Extensions.Configuration
Usage
Here's a basic example of how to use SharpDotEnv:
Install the NuGet package:
dotnet add package SharpDotEnv
Create a new file at the root of your project called .env
:
EXAMPLE_VALUE = 'this is only a test'
Update the .csproj
file for your project and add the following to include the file in the build directory
<ItemGroup>
<None Include=".env">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
using SharpDotEnv;
// by default looks for .env file
var env = DotEnv.Config();
// Values are set in the environment by default
Console.WriteLine("value: {0}, equals: {1}",
Environment.GetEnvironmentVariable("EXAMPLE_VALUE"),
Environment.GetEnvironmentVariable("EXAMPLE_VALUE") == "this is only a test");
// They can also be accessed from the returned value
Console.WriteLine("value: {0}, equals: {1}",
env["EXAMPLE_VALUE"],
env["EXAMPLE_VALUE"] == "this is only a test");
See also samples/SharpDotEnv.ConsoleSample
Usage with Microsoft.Extensions.Configuration
Here's a basic example of how to use SharpDotEnv with Microsoft.Extensions.Configuration:
Install the NuGet package:
dotnet add package SharpDotEnv.Extensions.Configuration
Setup .env
file following the same instructions as in Usage.
using Microsoft.Extensions.Configuration;
var config = new ConfigurationBuilder()
.AddDotEnvFile(".env")
.Build();
// Read values from the configuration
Console.WriteLine("value: {0}, equals: {1}",
config["EXAMPLE_VALUE"],
config["EXAMPLE_VALUE"] == "this is a nested value");
See also samples/SharpDotEnv.ConfigurationSample
License
SharpDotEnv is licensed under the MIT License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 8.0.0)
- SharpDotEnv (>= 0.3.1)
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 8.0.0)
- SharpDotEnv (>= 0.3.1)
-
net6.0
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 8.0.0)
- SharpDotEnv (>= 0.3.1)
-
net7.0
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 8.0.0)
- SharpDotEnv (>= 0.3.1)
-
net8.0
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 8.0.0)
- SharpDotEnv (>= 0.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
• Document current PublicAPI to keep track of breaking changes
• Internal refactor of tokenizers to share common state
Full changelog at https://github.com/vipentti/SharpDotEnv/blob/main/CHANGELOG.md