← S. Wagner's Blog
Technology

.NET 11 RC2 Ships With Go-Live License and Changes Across Libraries and Frameworks

S. Wagner·October 19, 2026·5 min read

Microsoft has published .NET 11 Release Candidate 2, a build the company has cleared for production through a go-live license, according to infoq.com. The release is supported in Visual Studio 2026 Insiders and in Visual Studio Code with the C# Dev Kit. InfoQ reports that the update touches the libraries, runtime, SDK, NuGet, F#, ASP.NET Core, .NET MAUI and Windows Forms, and that it introduces no new C# language features.

Why it matters

A go-live license changes what teams can do with a preview build. Rather than testing it in isolation, organizations can put RC2 into live environments ahead of general availability, which gives Microsoft broader real-world feedback and gives developers a chance to find upgrade problems before the final release ships.

The candidate also carries a breaking change and several removals, so teams moving up from RC1 have work to do. Discussion on Reddit, as reported by infoq.com, centered less on individual features than on upgrade timing. Some commenters asked how many teams still pass over odd-numbered .NET releases. Others noted that since .NET 9, a standard-term release has shared its end-of-support date with the preceding long-term-support version, so adopting .NET 11 would not cost support time. Developers also reported MAUI workloads failing with each preview upgrade and raised questions about Blazor server-side rendering performance compared with Razor Pages and MVC.

Libraries, runtime and ASP.NET Core

In the libraries, CborReader can now process a payload that arrives in pieces, using isFinalBlock and SlideData, though infoq.com notes this works only in Lax conformance mode. Two cryptography types arrive in experimental form. CompositeMLKem blends post-quantum and classical key encapsulation, while Hpke offers Hybrid Public Key Encryption with classical DHKEM suites only. Both require developers to opt in through the SYSLIB5009 and SYSLIB5006 diagnostics, according to the release notes cited by InfoQ.

Two smaller additions round out the library work. ValidationAttribute.FormatMessage lets a host hand the attribute a message template to complete, and SocketsHttpHandler.InitialHttp2MaxConcurrentStreams limits streams on a fresh HTTP/2 connection until the server's SETTINGS frame is received.

The runtime work is aimed mainly at reliability, but it includes one breaking change. CoreCLR now turns off advisory file locking by default on iOS and tvOS. InfoQ reports that in RC1, a FileStream lock could lead the operating system to terminate an app that moved to the background. FileShare restrictions are no longer enforced on those platforms, and setting DOTNETSYSTEMIO_DISABLEFILELOCKING to 0 brings locking back.

ASP.NET Core adds little in the way of features but carries several changes for apps coming from RC1. QuickGrid's AnchorMode and ItemComparer parameters are no longer experimental. IValidationMessageFormatter has been dropped in favor of FormatMessage. The Blazor BasePath component now lives in the Microsoft.AspNetCore.Components namespace, and the experimental device-bound sessions package was removed from this build. The remaining AddRazorRuntimeCompilation overloads now raise the ASPDEPR003 warning.

SDK, NuGet and F#

File-based programs in the SDK now accept quoted values inside #:property directives, and the #:package, #:project and #:ref directives accept trailing Name=Value item metadata. MSBuild evaluates wildcards faster during project evaluation; InfoQ cites Microsoft's Windows benchmarks showing a 10–13% speed improvement with 16–34% fewer allocations.

NuGet gains a --min-publish-age-hours option for dotnet nuget add source and update source. Restore now fails with NU1020 when a package cooldown leaves no eligible floating version.

F# ships several preview features. The compiler adds return and await intrinsics so developers can build custom computation-expression builders on the runtime-async model, although FSharp.Core does not yet include such a builder, per the release notes. InfoQ gives this example:

let calculation () =
    runtimeTask {
        let captured = 40
        let! delta = delayed 2
        return captured + delta
    }

The reraise() function now works inside the with handler of async and task expressions. Outside preview, more List and Array functions inline their callbacks to reduce allocations, Async.parallelLimit caps concurrent work, and bitwise operators on non-integer enums now fail at compile time with FS0001.

MAUI and Windows Forms

The .NET MAUI maui template gains a --ui csharp option that generates the app, shell and main page in C# instead of XAML, and the multi-project template adds an --avalonia option for an Avalonia desktop project. MauiIcon accepts Apple Icon Composer .icon bundles, and UseiOSShellHandler opts into a handler-based Shell on Apple platforms. Android adds API 37.2 bindings and JDK 25 support. Apple workloads now require Xcode 27.0, and apps built with its SDKs must adopt the UIKit scene lifecycle, according to the breaking changes documentation.

Windows Forms refines the .NET 11 visual styles. Application.SetDefaultVisualStylesMode selects the renderer version, but ToolStrip and DataGridView keep Classic rendering even under Net11 for now. Application.SystemVisualSettings exposes a snapshot of the Windows accent color, text scaling and high-contrast state, and FormRevealMode defers a top-level form's first presentation to reduce background flashes. New analyzers, WFO3000 through WFO3002, flag code that cannot round-trip through the Designer, which the release notes describe as particularly useful when AI tools generate or refactor forms. Reddit commenters welcomed the KioskModeManager component for Windows Forms, infoq.com reports.

Other changes include MSBuild property expansion in launch-profile arguments, an F# RequireNamedArgumentsAttribute, a private-member R8 obfuscation default on Android, SuspendPainting and KioskModeManager for Windows Forms, and EF Core fixes for SaveChanges and JSON projection.

The full release notes are available in the dotnet/core repository on GitHub. With the go-live license in place, the next milestone to watch is general availability, alongside how quickly the breaking changes on iOS, tvOS and Apple workloads surface in production apps.

191 views
Follow @wagners745