In modernen .NET-Apps kann es umständlich sein, Konfigurationen nur über appsettings.json oder Umgebungsvariablen des Systems zu verwalten. Genau hier kommt DotNetEnv ins Spiel: Es bringt die einfache .env-Datei-Konfiguration (wie in Node.js, Python oder Linux-Shells) direkt in .NET-Projekte — schnell, unkompliziert und ohne großen Boilerplate-Code.
🧠 Was ist eine .env-Datei?
Eine .env-Datei ist eine einfache Textdatei mit Key-Value-Paaren, die Konfigurationswerte enthält:
API_KEY=12345
GREETING=HalloDotNet
PORT=5000PlaintextDiese Datei kann lokal gehalten und z. B. nicht in Git eingecheckt werden, weil sie sensible Werte (wie API-Keys) enthalten kann.
🚀 Warum DotNetEnv?
✔️ Perfekt für kleine Apps, CLI-Tools, Prototypen und Microservices
✔️ Lädt Umgebungsvariablen aus einer .env-Datei
✔️ Kein umfangreicher JSON-Config-Stack nötig
✔️ Funktioniert auch mit Single-File-Apps in .NET 10+Medium
📦 Installation
Installiere zuerst das NuGet-Paket DotNetEnv:
dotnet add package dotenv.netBashoder im Visual Studio Package Manager:
Install-Package dotenv.netPowerShellDie Bibliothek ist leichtgewichtig und eignet sich ideal, um .env-Dateien in deinem .NET-Projekt zu unterstützen.
🛠️ Beispiel: Konsolen-App, die Werte aus .env lädt
Lege im Projektverzeichnis eine Datei namens .env an:
APP_NAME=MeineDotNetApp
API_URL=https://api.beispiel.de
MAX_RETRIES=3
DEBUG_MODE=truePlaintextAnschließend erstellen wir eine simple Konsolen-Anwendung:
using DotNetEnv;
Env.Load();
string appName =
Environment.GetEnvironmentVariable("APP_NAME") ?? "Unknown";
string apiUrl =
Environment.GetEnvironmentVariable("API_URL") ?? "http://localhost";
int maxRetries =
int.Parse(Environment.GetEnvironmentVariable("MAX_RETRIES") ?? "1");
bool debugMode =
bool.Parse(Environment.GetEnvironmentVariable("DEBUG_MODE") ?? "false");
Console.WriteLine($"App Name: {appName}");
Console.WriteLine($"API URL: {apiUrl}");
Console.WriteLine($"Max Retries: {maxRetries}");
Console.WriteLine($"Debug Mode: {debugMode}");C#Mit Env.Load() werden alle Werte aus der .env-Datei in die Umgebungsvariablen des aktuellen Prozesses geladen. Danach kannst du sie über Environment.GetEnvironmentVariable(...) abrufen.

🧪 Wann macht DotNetEnv Sinn?
| Szenario | Empfehlung |
| Kleine CLI-Tools & Prototypen | 👍 Perfekt |
| Microservices | 👍 Praktisch |
| Mehrere Umgebungen (Dev/Test/Prod) | 👍 Mit mehreren .env-Dateien |
| Produktions-Umgebung mit orchestrierten Secrets | 🔒 Dann ggf. andere Secret-Manager |
Eine .env-Datei sollte typischerweise nicht in Git eingecheckt werden – trage sie lieber in .gitignore ein.
🎯 Fazit
DotNetEnv bringt eine einfach verständliche Konfigurations-Schicht nach .NET, ohne eine übliche JSON-Datei. Das ist besonders nützlich, wenn du:
- viele Umgebungsvariablen brauchst,
- schnell verschiedene Konfigurationen testen willst,
- oder Konfigurationen konsistent über mehrere Sprachen/Tools teilen willst.