Back to Podcast Digest
dotnet44m

.NET 11 in depth: Runtime, libraries, and SDK for the AI era

TL;DR

  • The .NET CLI now adapts itself for LLMs and agents: .NET 11 detects agent-like contexts heuristically so it can suppress token-wasting live terminal logger updates and start preparing for parallel worktree scenarios where multiple builds compete for the same machine resources.

  • Native AOT is becoming a core strategy for .NET tooling: bundled tools like dotnet user-secrets, dev certs, and JWT helpers are already native AOT in preview 6, and Chad Husk said a sample dotnet user-secrets run on Damian Edwards' Windows machine averaged 54 ms, with only 14 ms spent in the tool itself.

  • SDK acquisition is getting lighter in practical, boring-but-important ways: Microsoft built a native AOT installer tool called dotnetup for cross-platform user-level installs, and SDK packaging now uses hard-link deduplication in tarballs to cut roughly 80 MB from payloads across platforms.

  • System.Diagnostics.Process finally gets safer convenience APIs: Rich Lander showed how the classic ReadToEnd pattern can deadlock when stdout and stderr buffers fill unevenly, then introduced new APIs like RunAndCaptureTextAsync, ReadAllLinesAsync, pipe helpers, and fire-and-forget process launching that handle the ugly parts correctly.

  • Runtime async is a major under-the-hood rewrite of async execution: with one MSBuild property, .NET 11 can move async machinery out of compiler-generated state machines and into the runtime, producing smaller binaries, cleaner Environment.StackTrace output, and a path for future async performance gains without recompiling code.

  • Memory safety work is targeting one of .NET's oldest performance compromises: the team is redesigning unsafe as a reviewable caller contract and improving JIT bounds-check elimination and inlining so high-performance patterns, including SIMD-heavy code, can drop many Unsafe and MemoryMarshal calls without giving up speed.

The Breakdown

.NET 11 is pushing hard on two fronts at once: making the CLI and tooling faster and more agent-friendly, while overhauling deep runtime internals with runtime async, safer high-performance code, and new process APIs that fix long-standing deadlock traps. The result is a release aimed squarely at AI-era workloads, from token-efficient terminal output and parallel agent builds to native AOT tooling, smaller SDK payloads, and cleaner async stack traces.

Was This Useful?

Share