.NET 11 ships C# 15 union types and a Native AOT CLI host

.NET 11 is a Standard Term Support release with two years of support, bringing C# 15 union types and closed hierarchies, a Native AOT CLI host, and a warm MSBuild server. ASP.NET Core adds asynchronous validation, OpenAPI 3.2, and experimental Blazor AI components tied to AG-UI. .NET MAUI switches to CoreCLR by default, libraries gain Zstandard compression and in-memory stream adapters, and AI tooling includes an MCP server template plus Microsoft Agent Framework.

The result type tells a caller which outcomes it needs to handle. There’s no need to use `object` or an unrelated base class just to put those outcomes behind one return type.
  1. CharlieDigital

    In my experience, C# and .NET are both "underappreciated" in a large part based on the legacy.

    Some folks out there still think .NET is Windows only. Some folks out there haven't looked at C# since the .NET Framework days. Some folks out there are still salty about some of Microsoft's decision around OSS (debugger, hot reload fiasco, etc.)

    But day to day working with C# and .NET for backends? It's really fantastic. AI seems to like it a lot and a lot of tools for agents to go HAM. Roslyn analyzer, source generators, workable hot reload (for a compiled language), tons of really good docs from Microsoft, generally low variance and high consistency from codebase to codebase (e.g. encountering Drizzle vs Prisma vs TypeORM vs Kysely vs ... in Node land).

    My previous team switched from TS to C# and F#[0][1] and it was a blessing; a lot of the platform ops have been simplified. It's just one very solid tool chain and packages are generally stable (a lot less effort on maintaining platform config/tooling and more focus on just building). First party packages get consistent security updates and C# doesn't have nearly the same level of exposure to transitive packages that one encounters with JS/TS ecosystem.

    C# feels like a really solid choice in the age of AI coding because of it's general stability, strong static analyzer, insistence on types, and really good tooling. Not right for all use cases (e.g. CLI, serverless functions), but fantastic for backend APIs.

    If you're looki […]

  2. giancarlostoro

    C# was my 2nd programming language after VB6. I remember in the early 2000s when I was 12, using my best friends computer to try and download VB .NET (he had faster internet) just because it was free, then being extremely disappointed when I couldnt just run my VB6 projects I wanted to run on it... Some years later, during 2007 ~ 2009 I tried out C# and that was life changing.

    I wound up going to college after working retail at Disney, then after college, my first job was supposed to be C# but they didn't have the project approved, so I got my first exposure to Python - which I loved, then JavaScript - which I hated but have a love-hate with to this day, and finally C#, but it wasn't .NET 3.5 no, they started using .NET Core, which was... something else, lots of teeth pulling during the original .NET Core days.

    So many wonderful projects made with .NET my only complaint is I wish Microsoft would make a cross-platform GUI stack they'd actually stick to, and make it work on Linux too. ;)

    I know there's alternatives but nothing beats telling your coworkers "lets just use the built-in" when choosing a GUI stack.

  3. 1a527dd5

    https://learn.microsoft.com/en-us/dotnet/core/compatibility/...

    Be aware

    (decimal)0.1

    // .NET 10: 0.1

    // .NET 11: 0.1000000000000000055511151231

  4. dead_hn_theory

    C# and .NET are absolute joys to program in. To me they are a slightly more "enterprisey" Ruby on Rails but once you're in it there is a flow to it. Things fit very nicely together, especially with LINQ. Runtime code compilation/"scripting" with Roslyn Compiler Services et al is just great.

  5. wofo

    Awesome stuff, as usual in .NET releases! The runtime async support is surprising to me... I get that stack traces are more friendly without state machines in the code, but I didn't expect they could switch to a runtime version and have equivalent performance. Cool!

  6. Rapzid

    DotNet finally has an official version manager! Check out dotnetup: https://learn.microsoft.com/en-us/dotnet/core/tools/dotnetup...

  7. jotato

    What IDE are people using for C# these days? Back in the day (circa 2008) Visual Studio was your only real option.

    But I'm on linux now. If I wanted to pick up back up then what should I be using?

  8. GaProgMan

    > .NET 11 is a Standard Term Support (STS) release with two years of support under the .NET support policy. STS and Long Term Support (LTS) releases have the same quality and servicing policies; the difference is the length of support. .NET 10 remains a supported LTS option. Stay current with servicing updates whichever release you choose.

    They burried the lede on this one.

    - .NET 10 is end of life'd on Nov 14th, 2028

    - .NET 11 is end of life'd on Nov 9th, 2028

    Which means anyone who upgrades to 11 has fewer days of support. But the idea is that you'll upgrade to 12 as soon as it's RTM'd.

    The problem with that is I have clients who refuse to budge from 2.1 (or even upgrade to the 2.1 re-release: 2.3).

More from this day

2026-11-10