.NET 11 Is Here: What GA Means for Teams Still on Legacy Code

by DeeDee Walsh, on Nov 10, 2026, 6:04:42 PM

.NET 11 shipped today. The .NET team announced it in the .NET Conf opening keynote, after a quick walk through 25 years of the platform: desktop, web, mobile, cloud, and now AI. The message was that .NET is durable. It has survived every one of those shifts and plans to survive this one.

This post closes out our .NET 11 series. We've followed the previews since spring, and the theme hasn't changed: the platform you'd modernize to keeps getting better, and staying where you are keeps getting more expensive. Day 1 made that case directly.

Today is also the last day of support for .NET 8 and .NET 9. Teams that moved off .NET Framework a few years ago now have a deadline of their own. Teams still on VB6, PowerBuilder or Web Forms are a few more releases behind.

What shipped, through a migration lens

The keynote moved fast. These are the pieces that matter most if you're moving old code onto modern .NET:

Feature

What it does

Why it matters for a migration

C# 15 union types

Declare that a value is exactly one of a fixed set of types. The compiler checks that every case is handled.

A type-safe home for VB6 Variant and PowerBuilder Any, which today usually end up as object.

Runtime async

The runtime handles async work instead of compiler-generated state machines. As the C# team put it, async is "faster, not different." Opt-in in .NET 11; Rich Lander expects it to be the default in .NET 12.

Migrated code gets faster async with no rewrite. No syntax changes.

C# Dev Kit 11

Rebuilt for machines shared by a developer and several agents. Drew Noakes reported 77% faster workspace loading and 80% less server memory. An incremental build of the 407-project Aspire solution dropped from 36 seconds to 2.

Large legacy solutions are where IDE performance hurts most. Prerelease today, stable "really soon."

Roslyn for agents

The C# compiler, tuned to be used as a tool by AI agents. Up to 50% less memory with multiple agents running.

Agents understand C# code the way the compiler does. VB6 and PowerBuilder code gets none of this.

File-based apps

A single .cs file now runs without a project, and can reference other files.

Lowers the bar for small utilities and test harnesses during a migration.

C# 15 also includes closed hierarchies and a redesigned unsafe-code model. The unsafe redesign is a preview in .NET 11 and goes GA in .NET 12.

WinForms gets a real upgrade, not just maintenance

The WinForms session was the most useful hour of the day for anyone with a desktop line-of-business app. Klaus from the WinForms team opened by trying to demo from a Windows XP laptop running Visual Studio 2005. The projector connection failed, but the point stood: WinForms has a 20-year history, and Microsoft is still investing in it.

What's new in .NET 11:

  • One line restyles a whole app. A new default visual style mode gives existing WinForms apps a current Windows 11 look. The controls are still the same Windows controls.
  • Accessibility drives it. The new styles follow the user's Windows accent color and text-size setting as they change. The old 12×12 pixel checkboxes were too small to hit on a 4K display.
  • A fix for slow nested layouts. A new suspend-painting scope pauses painting and layout across every level of nested containers with a single using statement.
  • No more white flash in dark mode. A deferred reveal mode hides the window until it has finished drawing, so the app also feels like it starts faster.
  • Copilot skills for old forms are coming. Visual Studio will get skills that convert fixed-position forms into table layouts that resize properly.

Klaus said of a 10- to 15-year-old WinForms app, "usually there's no need to migrate it." He also named the problem that blocks those apps: third-party control libraries from vendors who have long since gone out of business. VB6 shops will know that problem from their own OCX and ActiveX controls.

For VB6 teams this matters. WinForms on .NET 11 is an actively developed target, not a dead end. In the afternoon Copilot demo, Wendy Breiding's sample app was a WinForms front end on an ASP.NET Core API, and Copilot picked a dedicated WinForms expert skill on its own.

Microsoft's own advice: modernize in pieces, with tests and human review

Luis, who leads product for .NET's AI libraries, opened the modernization segment by saying it's "not all or nothing." His examples were Microsoft's own teams:

  • Visual Studio moved selected components to modern .NET and left other core parts as they were.
  • Intune saved weeks on a library migration with an AI assistant.
  • Windows 365 runs hundreds of microservices and more than 4,000 scenario tests.

The Windows 365 story was the most instructive. The team didn't start with AI. First they made builds and tests reliable on every machine. Only then did they use agents to onboard repos, in a fixed loop: check the repo, plan, make a scoped change, run the scenario tests, open a pull request. Deterministic tests block regressions, and a person reviews every pull request before it merges.

That's the pattern for AI-assisted modernization at scale: a reliable test harness first, agents doing the repetitive work inside it, people approving the result. It's also how we think about legacy modernization.

The tooling behind it is moving fast too. Microsoft's curated .NET skills for coding agents (github.com/dotnet/skills) come with a public dashboard that measures whether each skill actually saves time and tokens for each model. Copilot now picks the right skill on its own, such as the WinForms expert for front-end work.

What this means if you're still on VB6, PowerBuilder or Web Forms

The support math got simpler. .NET 11 is a Standard Term Support release, but STS now means two years. .NET 11 and .NET 10 (LTS) both reach end of support on November 14, 2028. Picking 11 over 10 costs no support time. Meanwhile, .NET 8 and .NET 9 went out of support today.

Upgrading pays even without new features. Microsoft's MSN feeds team moved from .NET 8 to .NET 10 and reported 29% shorter p95 garbage-collection pauses, 11% lower async latency and 20% shorter thread-pool queues. They changed no features to get there. .NET 11 adds more JIT, JSON and string performance work on top of that.

The AI tooling only works on modern code. Most of Day 1 was about coding agents: Roslyn tuned for agents, a re-architected C# Dev Kit, curated skills, Copilot picking the right model and skill for each task. All of it assumes C# on modern .NET. A VB6 or PowerBuilder codebase gets none of it, so every release widens the gap between what your team can do and what a team on .NET 11 can do.

Web Forms still has no path forward on modern .NET. Blazor Server is the closest fit for server-rendered line-of-business apps, and it's the focus of a Day 2 session (below). 

WinForms is a real destination. If your VB6 app's natural next home is a Windows desktop app, .NET 11 makes WinForms a better place to land than it was a year ago.

What to watch for the rest of .NET Conf

.NET Conf runs through Friday, November 13. If you're planning a migration, these Day 2 sessions on Wednesday, November 11 are the ones to catch (Pacific time):

  • 10:30 a.m. Blazor Server in .NET 11: Fast, resilient, and scalable (Daniel Roth)
  • 11:00 a.m. What's new in the MCP C# SDK (Stephen Halter)
  • 1:00 p.m. GitHub Copilot modernization (Mika Dumont)
  • 2:00 p.m. No XAML required: Native Windows apps in pure C# (Alexandre Zollinger Chohfi)

Thursday and Friday are community days, with talks on Aspire, Blazor, EF Core 11 and production AI workflows. Watch Day 2 live, catch up on Day 1 or see the full agenda.

Do you have old apps you need to get modernized to the latest .NET? Check out VELO, our agentic AI modernization platform.

That wraps up our .NET 11 series. The next release in Microsoft's yearly cycle is .NET 12, an LTS release due in November 2027. Every release the platform gets more done for you, and staying on legacy code costs more.

Sources

Topics:.NET.NET 10.NET 11

Comments

Subscribe to GAPVelocity AI Modernization Blog

FREE CODE ASSESSMENT TOOL