Microsoft gives us a sneak peek at .NET 11

Paul Krill
6 Min Read

The upcoming iteration of Microsoft’s development framework introduces enhancements for Just-In-Time compilation, WebAssembly, C#, and F#.

Microsoft logo or related imagery
                                        <div class="media-with-label__label">
                        Image courtesy of StockStudio / Shutterstock                                                    </div>
                                </figure>
        </div>
                                        </div>
                        </div>
                    </div>                  
                    <div id="remove_no_follow">
    <div class="grid grid--cols-10@md grid--cols-8@lg article-column">
                  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
                    <div class="article-column__content">

Microsoft has unveiled .NET 11 Preview 1, an anticipated update to its versatile software development ecosystem, which includes enhancements to JIT performance, improved compression speeds, CoreCLR compatibility with WebAssembly, and numerous other features.

Revealed on February 10, this preliminary version is available for download at dotnet.microsoft.com. The advancements span various components such as the runtime and core libraries, the SDK, the C# and F# programming languages, ASP.NET Core and Blazor, and .NET MAUI (Multi-platform App UI). Modifications to the JIT compiler are primarily aimed at boosting startup efficiency, facilitating more sophisticated optimizations, and minimizing overhead in common coding structures. These improvements involve increasing the multicore JIT MAX_METHODS threshold to better accommodate substantial workloads and accelerate startup times for applications rich in methods. Furthermore, non-shared generic virtual methods are now de-virtualized to lessen virtual-call overhead and create additional opportunities for inlining and optimization. Microsoft also notes that the JIT compiler is now applying a broader pattern-based induction-variable (IV) analysis, which unlocks more scenarios for loop analysis and subsequently more loop optimizations.

In .NET 11, initial efforts have been made to introduce CoreCLR compatibility with WebAssembly, though this functionality is not fully prepared for broad deployment in Preview 1. A key part of this undertaking involves .NET 11 Preview 1 initiating the development of a RyuJit compiler specifically designed for WebAssembly targets, intended for Ahead-Of-Time (AOT) compilation. The .NET WebAssembly implementation is currently transitioning from the Mono runtime to CoreCLR.

The inclusion of Zstandard compression in .NET 11’s libraries translates to considerably quicker compression and decompression speeds when contrasted with current algorithms, all while preserving excellent compression ratios. The new API set encompasses comprehensive streaming, one-shot, and dictionary-based compression and decompression functionalities. Another notable addition is an annual cache for time zone transitions, which boosts efficiency for time conversions. This cache retains all transitions for a specific year in UTC, thereby eradicating redundant rule lookups during conversion processes.

C# 15, as part of .NET 11 Preview 1, unveils arguments for collection expressions, a facility designed for situations where a collection expression doesn’t inherently yield the target collection type. These arguments allow developers to directly define capacity, comparers, or various constructor parameters right within the collection expression’s syntax. C# 15 also incorporates enhanced layout support, meaning the C# compiler now generates TypeAttributes.ExtendedLayout for types marked with the System.Runtime.InteropServices.ExtendedLayoutAttribute. This functionality is mainly earmarked for the .NET runtime team to utilize with types involved in interop operations.

F# 11, included in .NET 11 Preview 1, now features parallel compilation enabled by default in its compiler, leading to quicker compilation times for code heavily relying on computation expressions. However, ML compatibility has been deprecated. Keywords such as asr, land, lor, lsl, lsr, and lxor — which were formerly reserved for ML compatibility — are now usable as standard identifiers. Microsoft explained that F# originated as an OCaml dialect operating on .NET, and for over twenty years, its compiler retained compatibility structures from this lineage, including `.ml` and `.mli` source file extensions, the #light "off" directive for toggling to whitespace-insensitive syntax, and options like --mlcompatibility. While these elements were beneficial during the language’s initial stages, offering a pathway for developers familiar with the ML family, that era has now concluded. Approximately 7,000 lines of outdated code have been eliminated from the compiler, parser, and test suite.

.NET 11 arrives after the November 2025 launch of .NET 10, an update that delivered advancements in AI, language capabilities, and runtime performance. Additional noteworthy features slated for .NET 11 encompass:

  • Runtime asynchronous operations now incorporate new low-level infrastructure to support async methods. This aims to refine development tools and boost performance for code paths that frequently use asynchronous patterns.
  • CoreCLR has become the standard runtime for Android Release builds. Microsoft indicates this change should enhance compatibility with other .NET components and diminish application startup durations.
  • Enhancements to SDK CLI commands involve strengthening dotnet run to facilitate interactive selection processes, thereby setting the groundwork for better .NET MAUI and mobile application development contexts.
  • The Blazor web framework introduces an EnvironmentBoundary component, enabling conditional content rendering determined by the hosting environment. Microsoft states that this component functions similarly to the MVC environment tag helper, offering a unified approach to display content according to the prevailing environment across server-side and WebAssembly hosting models.
  • XAML source generation is now the default setting for all .NET MAUI applications in .NET 11, resulting in faster build times, better debugging performance, and optimized release runtime performance. Microsoft confirms that debug build application behavior now mirrors that of release builds.
C SharpCode Libraries and FrameworksMicrosoft Dot NETCoding LanguagesApp Development
Share This Article
Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *