Process API improvements in .NET 11

#612 – June 14, 2026

how the team made the biggest update to it in years

Process API improvements in .NET 11
26 minutes by Adam Sitnik

The System.Diagnostics.Process class is the primary way to create and interact with processes with .NET. Adam shares how the team made the biggest update to it in years, with .NET 11. The changes add high-level APIs that make it easy to start a process and capture its output without deadlocks, give you full control over handle inheritance and standard handle redirection, introduce lifetime management features like KillOnParentExit, and include a lightweight SafeProcessHandle-based API surface that is more trimmer-friendly.

Zero Days Without .NET Drama
sponsored by Jetbrains

When C# Dev Kit quietly removed Solution Explorer, GitHub got loud! If that change left you scrambling, ReSharper for VS Code brings the full Solution Explorer back – with NuGet management, source generator support, project references, and solution folders. Get Rider‑level comfort while keeping VS Code's speed and flexibility. Crisis averted.

EF Core 11 makes your split queries faster
3 minutes by Steven Giesel

EF Core 11 fixes a wasteful behavior in split queries. Before, every collection query unnecessarily included joins and ordering from reference navigations, making the database do extra work for no reason. Now those are removed, so collection queries are leaner. Benchmarks show about 9% faster execution and 10% less memory use.

Strategy pattern: Choosing without attachment
7 minutes by Bipin Joshi

The Strategy pattern solves the problem of hardcoded logic by separating what a system does from how it does it. Instead of piling conditions into a single class, you define a shared interface and swap in different implementations as needed. In .NET, dependency injection makes this clean and natural. The result is code that is easier to test, extend, and change without breaking what already works.

How to structure production apps with Vertical Slice Architecture
12 minutes by Anton Martyniuk

Vertical Slice Architecture organizes code by feature instead of technical layers, so everything related to one feature sits together. Each slice gets its own folder with four files covering the endpoint, handler, mapping, and validation. Modules talk to each other only through public API contracts, keeping internals hidden. Assembly scanning handles registration automatically, so there is no manual wiring as the project grows.

12 rules for dependency injection in ASP.NET Core
6 minutes by Aram Tchekrekjian

ASP.NET Core has dependency injection built in, and using it well makes apps easier to test, maintain, and scale. Key rules include choosing the right service lifetime, transient for stateless work, scoped for per-request logic, and singleton for shared state. Injecting interfaces over concrete classes, keeping dependencies few, and avoiding lifetime mismatches prevents subtle bugs. Startup validation, clean registration patterns, and strong typed configuration round out the best practices.

And the most popular article from the last issue was:

newsletters