Abstraktes Header-Bild in den Farben von tsjdev apps

Blogbeitrag

DotNetEnv – Die Konfigurations-Superkraft, die du noch nicht kanntest

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=5000

Diese 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+

📦 Installation

Installiere zuerst das NuGet-Paket DotNetEnv :

dotnet add package dotenv.net

oder im Visual Studio Package Manager:

Install-Package dotenv.net

Die 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=true

Anschließ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}");

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.

Weiterempfehlen

Diesen Beitrag teilen

Wenn dir der Beitrag gefallen hat: gern weiterreichen. Gute Links dürfen sich ruhig schnell verbreiten.

Vorheriger/Nächster Beitrag

Rückblick auf 2025 und Ausblick auf 2026 Vorheriger Beitrag Rückblick auf 2025 und Ausblick auf 2026 Moderne Cross-Plattform-Wetter-App mit Avalonia UI Nächster Beitrag Moderne Cross-Plattform-Wetter-App mit Avalonia UI
I am Back! Meine neue Webseite ist nun online I am Back! Meine neue Webseite ist nun online Kurze Pause auf dem Blog – ein technischer Neustart steht an Kurze Pause auf dem Blog – ein technischer Neustart steht an Rückblick auf 2025 und Ausblick auf 2026 Rückblick auf 2025 und Ausblick auf 2026 Meine englischsprachigen Beiträge auf Medium Meine englischsprachigen Beiträge auf Medium
Lust auf ein kurzes digitales Hallo? Wenn du eine Idee teilen, eine Frage loswerden oder ein Projekt anschieben willst: mein Posteingang ist deutlich zuverlässiger als Brieftauben. apps@tsjdev-apps.de Mail schicken