推荐一个开源库,方便我们从 .env 文件加载环境变量,简化应用程序配置管理。
01
项目简介
dotenv.net是一个职场 .NET Core 环境中读取 .env 文件的库。它可以轻松地加载环境变量到应用程序的配置中,从而实现不同环境下的配置管理。
简单且无痛:.env只需最少的设置即可轻松加载和读取文件。
灵活的配置:使用各种选项自定义环境变量的加载方式。
依赖注入支持🧩:与流行的 DI 框架无缝协作。
跨平台:与.NET Core、.NET 5 及更高版本完全兼容。
02
快速入门
1、安装
使用 .NET CLI
dotnet add package dotenv.net
使用 Visual Studio 包管理器
Install-Package dotenv.net
2、简单使用方法
using dotenv.net;DotEnv.Load();var envVars = DotEnv.Read();Console.WriteLine(envVars["KEY"]);
其中Load()的时候,会从而应用程序的目录读取.env文件。
3、自定义.env文件路径
DotEnv.Load(options: new DotEnvOptions(envFilePaths: new[] {"./path/to/env", "./path/to/second/env"}));
4、启用异常处理
DotEnv.Load(options: new DotEnvOptions(ignoreExceptions: false));
5、在父目录中搜索.env文件
DotEnv.Load(options: new DotEnvOptions(probeForEnv: true, probeLevelsToSearch: 2));
6、去掉值的空白字符
DotEnv.Load(options: new DotEnvOptions(trimValues: true));
7、多次加载,是否不覆盖现有环境变量
DotEnv.Load(options: new DotEnvOptions(overwriteExistingVars: false));
8、提供一个流畅的 API,更简洁直观的语法
// 加载环境变量DotEnv.Fluent() .WithExceptions() .WithEnvFiles("./path/to/env") .WithTrimValues() .WithEncoding(Encoding.ASCII) .WithOverwriteExistingVars() .WithProbeForEnv(probeLevelsToSearch: 6) .Load();
// 读取环境变量var envVars = DotEnv.Fluent() .WithoutExceptions() .WithEnvFiles() //默认为 .env .WithoutTrimValues() .WithDefaultEncoding() .WithoutOverwriteExistingVars() .WithoutProbeForEnv() .Read();
9、另外提供 Utilities 命名空间,以类型化方式读取环境变量的额外方法:
using dotenv.net.Utilities;
var stringValue = EnvReader.GetStringValue("KEY");var intValue = EnvReader.GetIntValue("PORT");var boolValue = EnvReader.GetBooleanValue("ENABLE_FEATURE");
更多的方法如下:
03
项目地址
https://github.com/bolorundurowb/dotenv.net
- End -
领取专属 10元无门槛券
私享最新 技术干货