一个简单又好用的.Net版本.env文件读写操作库

推荐一个开源库,方便我们从 .env 文件加载环境变量,简化应用程序配置管理。

01 项目简介

dotenv.net是一个职场 .NET Core 环境中读取 .env 文件的库。它可以轻松地加载环境变量到应用程序的配置中,从而实现不同环境下的配置管理。

  • 简单且无痛🎯:.env只需最少的设置即可轻松加载和读取文件。

  • 灵活的配置🔧:使用各种选项自定义环境变量的加载方式。

  • 依赖注入支持🧩:与流行的 DI 框架无缝协作。

  • 跨平台🌍:与.NET Core、.NET 5 及更高版本完全兼容。

02 快速入门

1、安装

使用 .NET CLI

csharp 复制代码
dotnet add package dotenv.net

使用 Visual Studio 包管理器

复制代码
Install-Package dotenv.net

2、简单使用方法

ini 复制代码
using dotenv.net;
DotEnv.Load();
var envVars = DotEnv.Read();
Console.WriteLine(envVars["KEY"]);

其中Load()的时候,会从而应用程序的目录读取.env文件。

3、自定义.env文件路径

php 复制代码
DotEnv.Load(options: new DotEnvOptions(envFilePaths: new[] {"./path/to/env", "./path/to/second/env"}));

4、启用异常处理

php 复制代码
DotEnv.Load(options: new DotEnvOptions(ignoreExceptions: false));

5、在父目录中搜索.env文件

php 复制代码
DotEnv.Load(options: new DotEnvOptions(probeForEnv: true, probeLevelsToSearch: 2));

6、去掉值的空白字符

php 复制代码
DotEnv.Load(options: new DotEnvOptions(trimValues: true));

7、多次加载,是否不覆盖现有环境变量

php 复制代码
DotEnv.Load(options: new DotEnvOptions(overwriteExistingVars: false));

8、提供一个流畅的 API,更简洁直观的语法

scss 复制代码
// 加载环境变量
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 命名空间,以类型化方式读取环境变量的额外方法:

ini 复制代码
using dotenv.net.Utilities;

var stringValue = EnvReader.GetStringValue("KEY");
var intValue = EnvReader.GetIntValue("PORT");
var boolValue = EnvReader.GetBooleanValue("ENABLE_FEATURE");

更多的方法如下:

03 项目地址

github.com/bolorunduro...

  • End -

推荐阅读

2个零基础入门框架教程!

SmartFormat:轻量级文本模板库,轻松替代 string.Format

Squidex:一个基于.Net功能强大的CMS开源项目

barcodelib:一个功能强大且易于使用的 C# 条形码生成库

一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略来了!

相关推荐
Cosolar8 小时前
不收费、不加水印、数据归你:我做了个开源的在线简历工具
后端·面试·前端框架
小蒜学长9 小时前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
陈随易9 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
每天一道题10 小时前
CAP、Raft 与多数派:分布式系统如何达成一致?
分布式·后端·微服务
前端的日常10 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
IT_陈寒11 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
ServBay11 小时前
本地模型已经跑起来了,Copilot Fusion 为什么还要联网?
后端·ai编程·github copilot
武子康12 小时前
H3-World 的动作没按时发生,先检查时间线变成了什么
人工智能·后端·agent
苍何12 小时前
腾讯 Buddy One 来了,办公全家桶一键打通WorkBuddy(附教程)
后端
GIS数据转换器12 小时前
基于CIM的城市智慧供热监管服务平台
java·大数据·开发语言·人工智能·后端·物联网·struts