The .NET 9 Release and VB.NET

Microsoft released .NET 9 in November 2024, bringing a range of performance improvements, new runtime features, and library enhancements. While much of the developer attention focuses on C# and F#, VB.NET developers benefit from every .NET runtime and BCL (Base Class Library) improvement automatically — and there are meaningful updates worth knowing about.

VB.NET Language Status in .NET 9

It's worth being transparent: Microsoft has stated that VB.NET will continue to receive maintenance updates and support but is not receiving new language features at the same cadence as C#. The language remains fully supported and is not deprecated. For teams with existing VB.NET codebases, .NET 9 is a solid upgrade target that brings runtime benefits without requiring language-level code changes.

Key .NET 9 Runtime Improvements Relevant to VB.NET

Performance Gains Across the Board

The .NET 9 JIT compiler includes a new loop optimisation pass and improvements to inlining and register allocation. VB.NET apps compiled to .NET 9 will run faster — particularly code-heavy loops and data processing pipelines — with no changes required.

Garbage Collector Improvements

.NET 9 includes improvements to the GC's dynamic adaptation to application size (DATAS), which reduces memory footprint for long-running services and desktop apps alike. If you're running a VB.NET Windows Service or long-lived desktop app, you may notice reduced memory usage after upgrading.

System.Text.Json Enhancements

JSON handling in .NET 9 is faster and more feature-complete. VB.NET developers can now use JsonSerializerOptions with more flexible configurations and benefit from improved source generation support — useful for apps that communicate with REST APIs or web services.

New LINQ Methods in BCL

.NET 9 adds several new LINQ extension methods to System.Linq that are fully accessible from VB.NET:

  • CountBy — group and count in one operation
  • AggregateBy — aggregate values keyed by a selector
  • Index — enumerate with index without Select + counter workarounds

Improved Tooling in Visual Studio 2022

Visual Studio 2022 continues to improve its VB.NET support in line with .NET 9. IntelliSense, code analysis, and the debugger all benefit from the latest release cycle updates. The .NET Upgrade Assistant has also been updated to support migrating older VB.NET projects targeting .NET Framework to .NET 9.

Should You Upgrade to .NET 9?

ScenarioRecommendation
New VB.NET projectTarget .NET 9 from the start
Existing .NET 6/7/8 appPlan upgrade — .NET 9 is an STS release (18-month support)
Existing .NET Framework appConsider .NET 8 LTS first for long-term stability
VB6 app still on COMMigrate to .NET before targeting a specific version

Note on LTS vs STS

.NET 9 is a Standard-Term Support (STS) release, meaning it's supported for 18 months. If you need longer support, .NET 8 (LTS) is supported until November 2026. Teams that prefer stability over new features should consider staying on .NET 8 until .NET 10 LTS arrives.

Getting Started

Download the .NET 9 SDK from dot.net, update your project's <TargetFramework> to net9.0, and run your test suite. For most VB.NET projects, the upgrade is straightforward and the runtime benefits are immediate.