Paul Krill
Editor at Large

Microsoft’s .NET 9 arrives, with performance, cloud, and AI boosts

news
Nov 12, 20244 mins
Artificial IntelligenceC#Development Libraries and Frameworks

Cloud-native apps, AI-enabled apps, ASP.NET Core, Aspire, Blazor, MAUI, C#, and F# all get boosts with the latest major rev of the .NET platform.

shutterstock 402603583 number nine 9 in gold sparkles over a blue background
Credit: ABB Photo / Shutterstock

Microsoft has announced the general availability of .NET 9, a major upgrade of its open source software development platform that features scads of performance enhancements and new capabilities for building cloud-native and generative AI-enabled applications.

Released November 12, .NET 9 can be downloaded from dotnet.microsoft.com.

The new .NET release features more than 1,000 performance-related changes across the runtime, workloads, and languages, along with more efficient algorithms to generate better code, Microsoft said. The Server GC has been changed to be adaptive to application memory requirements as opposed to the resources (memory and CPU) available in the environment (machine, VM, or container). Also, the runtime returned to vectorization, adding support for Arm64 SVE and Intel AVX10 silicon and hardware-accelerating the runtime. Dynamic Profile Guided Optimization (PGO), meanwhile, has been updated to optimize more code patterns.

On the AI front, Microsoft has made it easier to integrate AI-infused controls into .NET apps by building out a smart components ecosystem. Also, in collaboration with Semantic Kernel, Microsoft has introduced a set of abstractions to the .NET ecosystem under Microsoft.Extensions.AI and Microsoft.Extensions.VectorData that provide a unified layer of C# abstractions for interacting with AI services, such as small and large language models (SLMs and LLMs), embeddings, vector stores, and middleware. Additionally, improvements have been made to libraries and primitive types to improve AI development.

For the .NET Aspire cloud stack, the release of .NET Aspire 9 brings features such as the ability to start and stop resources from the dashboard, keep containers alive between debug sessions, and access new APIs, including WaitFor, to better manage resource startup.

Accompanying .NET 9 are new releases of the C# and F# programming languages.

For C# 13, the focus was on features to make it easier, faster, and safer for developers to write code in preferred styles. The use of the params modifier in method signatures is boosted in C# 13 with the addition of collections expressions. Thus, developers are no longer limited to using array types with params and can use any supported collection type. C# 13 also unlocks even more high-performance code by introducing new ways to use ref struct values and makes it easier to work with multi-threaded applications with System.Threading.Lock.

F# 9 offers language, library, and tool enhancements intended to make programs safer, more resilient, and performant. Nullable reference types bring type safety to interactions with C# libraries, while optimized integral ranges speed up for loops and other comprehensions. Optimized equality checks avoid boxing and increase performance of many common operations.

The ASP.NET Core web framework in .NET 9 brings improvements to help ensure apps are secure by default. It is now easier to set up a trusted development certificate on Linux to enable HTTPS during development. The framework also features improved monitoring and tracing along with performance improvements, with higher throughput, faster startup time, and less memory usage. For static web assets, like JavaScript and CSS files, ASP.NET Core in .NET 9 now optimizes these files during build and publish for efficient deployment.

Microsoft’s Blazor web framework in .NET 9, meanwhile, features performance improvements across all areas, as well as a new solution template that makes it easier to create .NET MAUI native and Blazor web client apps that share the same UI. Further, Blazor now can detect the component render mode at runtime via the RendererInfo API and adjust component rendering.

Also in .NET 9, Windows apps will have access to the latest OS features and capabilities while ensuring they are more performant and accessible than before. New built-in support for OpenAPI document generation is offered via the Microsoft.AspNetCore.OpenAPI package. And a new template for .NET MAUI includes 14 Syncfusion controls and other popular libraries, with practices for database access, Model-View-ViewModel, navigation, and other common app patterns.