NetEvolve NuGet Package Libraries

NetEvolve is a family of open-source .NET libraries published on NuGet that started from a recurring observation: the same defensive code, the same probe wiring, the same boilerplate keeps getting rewritten across projects. Each package exists because we hit the problem often enough to be tired of the workaround.

NetEvolve.HealthChecks grew out of every project that started with a SELECT 1 inside a try/catch and ended with scattered endpoints nobody trusted during an outage. The package treats health checks as configuration rather than code — connection strings live alongside the rest of the deployment settings, the probes themselves are modular, and the 5.0 release ships 27+ targeted probes for AWS, Azure, GCP, graph databases, vector stores, streaming platforms, and AI services. Source generation removes the inheritance boilerplate that older patterns demanded.

NetEvolve.Arguments exists because ArgumentNullException.ThrowIfNull only landed in .NET 6, and ArgumentException.ThrowIfNullOrEmpty arrived even later. Libraries that still target older frameworks cannot use those throw helpers directly, which leaves teams writing their own guard clauses or shimming methods that already exist in newer runtimes. The package provides a unified, backward-compatible API so the same defensive code reads identically on .NET Framework, .NET Standard, and the latest LTS — without conditional compilation littering production paths.

The articles in this collection cover release notes, design decisions behind specific APIs, multi-framework compatibility trade-offs, and samples that show how the packages behave in real deployment scenarios. The goal is not to advocate for the libraries in isolation but to document the engineering reasoning: where they fit, where they do not, and which problems they actually solve in production .NET codebases.

NetEvolve.HealthChecks 5.0: 27+ Targeted Probes, Zero Boilerplate

NetEvolve.HealthChecks 5.0: 27+ Targeted Probes, Zero Boilerplate

NetEvolve.HealthChecks 5.0 is a decisive expansion—broader coverage scope, less boilerplate.

New domain‑specific packages extend monitoring across cloud services, messaging platforms, graph, time‑series, vector and AI backends. In parallel, the former inheritance‑driven shared base library (abstract classes + repetitive DI wiring) was replaced by purpose-built source generators—removing manual registration churn and consolidating intent. Release 5.0 also formalizes full support for .NET 10—aligning with current trimming and analyzer improvements.

Modern Defensive Programming in .NET 8/9 with Throw Helpers

Modern Defensive Programming

Modern .NET introduces powerful throw-helper methods such as ArgumentNullException.ThrowIfNull and ArgumentException.ThrowIfNullOrEmpty to simplify defensive programming. However, many projects still target older frameworks where these APIs are missing. This article explores how the NetEvolve.Arguments library delivers a unified, backward-compatible API that brings modern guard clause patterns to every .NET version, ensuring consistent validation, maintainability, and multi-framework compatibility.
Configuration-First Health Checks for Modern .NET

Configuration-First Health Checks for Modern .NET

Let’s be honest: health checks are the broccoli of .NET projects. Everyone says they have them, but nobody’s excited to eat their greens. What starts as a humble SELECT 1 in a try/catch quickly explodes into a wild jungle of scripts, copy-pasted connection strings, and endpoints that only half the team remembers. Sure, it works—until it doesn’t. And when it breaks, it’s never at a good time.