EnvVariablesGenerator 1.0.2
dotnet add package EnvVariablesGenerator --version 1.0.2
NuGet\Install-Package EnvVariablesGenerator -Version 1.0.2
<PackageReference Include="EnvVariablesGenerator" Version="1.0.2" />
paket add EnvVariablesGenerator --version 1.0.2
#r "nuget: EnvVariablesGenerator, 1.0.2"
// Install EnvVariablesGenerator as a Cake Addin
#addin nuget:?package=EnvVariablesGenerator&version=1.0.2
// Install EnvVariablesGenerator as a Cake Tool
#tool nuget:?package=EnvVariablesGenerator&version=1.0.2
EnvVariablesGenerator
EnvVariablesGenerator
is a source generator that generates a special class called EnvVariables based on an *.env file.
While there are other libraries that provide similar functionality, they often hardcode variables from the *.env file, making them less flexible.
However, in this library, the .env file is copied to the built project, allowing for changes to be made to the variables from there.
Additionally, you can opt to exclude this file from the built project and allow your application to load these variables from the actual environment instead.
Instalation
To use add those lines in your .csproj file:
<ItemGroup>
<PackageReference Include=" EnvVariablesGenerator" Version="1.0.2" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="var.env">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</AdditionalFiles>
</ItemGroup>
Where var.env
is name of your *.env
file. Name is arbitrar except it must end with .env
.
Also only one filename in project should end with .env
Example var.env file
DB_HOST=localhost
DB_PORT=5432
Unfortunately, we cannot use a file named .env because MSBuild goes crazy when trying to add a file with just an extension as an additional file. Aside from that, you can use whatever name you prefer, but only one file can be utilized.
Example usage
Console.WriteLine(EnvVariables.Host);
Console.WriteLine(EnvVariables.Port);
License
This library 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 was computed. 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 was computed. 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 was computed. 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 was computed. |
.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
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.