{"id":635165,"date":"2026-10-19T10:16:10","date_gmt":"2026-10-19T10:16:10","guid":{"rendered":"https:\/\/www.newsbeep.com\/nz\/635165\/"},"modified":"2026-10-19T10:16:10","modified_gmt":"2026-10-19T10:16:10","slug":"net-11-release-candidate-2-go-live-license-and-updates-across-libraries-f-maui-and-winforms","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/nz\/635165\/","title":{"rendered":".NET 11 Release Candidate 2: Go-Live License and Updates Across Libraries, F#, MAUI, and WinForms"},"content":{"rendered":"<p>Microsoft has released .NET 11 <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/dotnet-11-rc-2\/\" rel=\"nofollow noopener\" target=\"_blank\">Release Candidate 2<\/a> with a go-live license for production use, as stated in the announcement. The build is supported in <a href=\"https:\/\/aka.ms\/VS2026Insiders\" rel=\"nofollow noopener\" target=\"_blank\">Visual Studio 2026 Insiders<\/a> and in Visual Studio Code with the C# Dev Kit. As reported, it brings changes across the libraries, runtime, SDK, NuGet, F#, ASP.NET Core, .NET MAUI, and Windows Forms, with no new C# language features.<\/p>\n<p>In the libraries, <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/libraries.md#read-cbor-incrementally\" rel=\"nofollow noopener\" target=\"_blank\">CborReader<\/a> can now read a payload delivered in chunks, using isFinalBlock and SlideData, in Lax conformance mode only. Two experimental <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/libraries.md#experimental-composite-ml-kem-and-hpke-apis\" rel=\"nofollow noopener\" target=\"_blank\">cryptography types<\/a> arrive: CompositeMLKem combines post-quantum and classical key encapsulation, and Hpke provides Hybrid Public Key Encryption with classical DHKEM suites only.<\/p>\n<p>Both require opting in through SYSLIB5009 and SYSLIB5006, as described in the release notes. <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/libraries.md#format-dataannotations-messages-with-attribute-specific-arguments\" rel=\"nofollow noopener\" target=\"_blank\">ValidationAttribute.FormatMessage<\/a> lets a host supply a message template for the attribute to fill in, and SocketsHttpHandler.InitialHttp2MaxConcurrentStreams caps streams on a new HTTP\/2 connection until the server&#8217;s SETTINGS frame arrives.<\/p>\n<p>The runtime release focuses on reliability but carries one breaking change. CoreCLR now disables advisory file locking by default on <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/runtime.md#changes-since-the-previous-preview\" rel=\"nofollow noopener\" target=\"_blank\">iOS and tvOS<\/a>, because, as stated,\u00a0FileStream lock in RC 1 could cause the OS to terminate an app entering the background. FileShare restrictions are no longer enforced there, and setting DOTNET_SYSTEM_IO_DISABLEFILELOCKING to 0 restores locking, according to the release.<\/p>\n<p>ASP.NET Core has few new features but several changes for apps upgrading from RC 1. <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/aspnetcore.md#quickgrid-virtualization-apis-are-no-longer-experimental\" rel=\"nofollow noopener\" target=\"_blank\">QuickGrid&#8217;s<\/a> AnchorMode and ItemComparer parameters are no longer experimental. <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/aspnetcore.md#changes-since-the-previous-preview\" rel=\"nofollow noopener\" target=\"_blank\">IValidationMessageFormatter<\/a> has been removed in favor of FormatMessage, the Blazor BasePath component moved to the Microsoft.AspNetCore.Components namespace, and the experimental device-bound sessions package was pulled from this build. As reported, the remaining <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/aspnetcore.md#breaking-changes-from-net-10\" rel=\"nofollow noopener\" target=\"_blank\">AddRazorRuntimeCompilation overloads<\/a> now warn with ASPDEPR003.<\/p>\n<p>In the SDK, file-based programs accept <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/sdk.md#quoted-file-level-directive-values\" rel=\"nofollow noopener\" target=\"_blank\">quoted values in #:property directives<\/a>, and the #:package, #:project, and #:ref directives take trailing Name=Value item metadata. MSBuild gains faster wildcard matching during project evaluation, which, as reported in Microsoft&#8217;s Windows benchmarks, puts it at 10\u201313% faster with 16\u201334% fewer allocations.<\/p>\n<p>NuGet adds <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/nuget.md#configure-minimum-package-publication-age-from-the-cli\" rel=\"nofollow noopener\" target=\"_blank\">&#8211;min-publish-age-hours<\/a> to dotnet nuget add source and update source, and restore fails with NU1020 when a package cooldown leaves no eligible floating version.<\/p>\n<p>F# ships several preview features. The compiler gains return and await intrinsics for building custom <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/fsharp.md#runtime-async-support\" rel=\"nofollow noopener\" target=\"_blank\">computation-expression<\/a> builders on the runtime-async model, though FSharp.Core does not yet ship such a builder, as stated in the notes.<\/p>\n<p>&#13;<br \/>\nlet calculation () =&#13;<br \/>\n    runtimeTask {&#13;<br \/>\n        let captured = 40&#13;<br \/>\n        let! delta = delayed 2&#13;<br \/>\n        return captured + delta&#13;<br \/>\n    }<\/p>\n<p>The\u00a0<a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/fsharp.md#reraise-in-computation-expressions\" rel=\"nofollow noopener\" target=\"_blank\">reraise()<\/a> now works inside the with handler of async and task expressions. Outside preview, more <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/fsharp.md#lower-allocations-in-fsharpcore-collections\" rel=\"nofollow noopener\" target=\"_blank\">List and Array<\/a> functions inline their callbacks to cut allocations, <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/fsharp.md#bound-concurrent-asynchronous-work\" rel=\"nofollow noopener\" target=\"_blank\">Async.parallelLimit<\/a> bounds concurrent work, and <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/fsharp.md#breaking-changes-from-net-10\" rel=\"nofollow noopener\" target=\"_blank\">bitwise operators on non-integer enums<\/a> now fail at compile time with FS0001.<\/p>\n<p>The .NET MAUI maui template gains a <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/dotnetmaui.md#create-an-app-with-c-ui\" rel=\"nofollow noopener\" target=\"_blank\">&#8211;ui csharp option<\/a> that generates the app, shell, and main page in C# rather than XAML, and the multi-project template adds an &#8211;avalonia option for an Avalonia desktop project.<\/p>\n<p>MauiIcon accepts Apple Icon Composer <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/dotnetmaui.md#use-apple-icon-composer-assets\" rel=\"nofollow noopener\" target=\"_blank\">.icon bundles<\/a>, and <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/dotnetmaui.md#evaluate-the-apple-shell-handler\" rel=\"nofollow noopener\" target=\"_blank\">UseiOSShellHandler<\/a> opts into a handler-based Shell on Apple platforms. <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/dotnetmaui.md#net-for-android\" rel=\"nofollow noopener\" target=\"_blank\">Android adds API 37.2 bindings and JDK 25 support<\/a>, while Apple workloads now require Xcode 27.0 and apps built with its SDKs must adopt the UIKit scene lifecycle, as described in the <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/dotnetmaui.md#breaking-changes-from-net-10\" rel=\"nofollow noopener\" target=\"_blank\">breaking changes<\/a>.<\/p>\n<p>Windows Forms refines the .NET 11 <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/winforms.md#visual-styles-and-appearance\" rel=\"nofollow noopener\" target=\"_blank\">visual styles<\/a>. Application.SetDefaultVisualStylesMode selects the renderer version, but ToolStrip and DataGridView keep Classic rendering even under Net11 for now. <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/winforms.md#react-to-windows-visual-and-accessibility-settings\" rel=\"nofollow noopener\" target=\"_blank\">Application.SystemVisualSettings<\/a> exposes a snapshot of the Windows accent color, text scaling, and high-contrast state, and <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/winforms.md#deferred-form-reveal\" rel=\"nofollow noopener\" target=\"_blank\">FormRevealMode<\/a> defers a top-level form&#8217;s first presentation to reduce background flashes.<\/p>\n<p>New analyzers <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/winforms.md#new-designer-guiding-analyzers\" rel=\"nofollow noopener\" target=\"_blank\">WFO3000 to WFO3002<\/a> flag code that cannot round-trip through the Designer, which the release notes say is particularly useful when AI tools generate or refactor forms.<\/p>\n<p>Other changes in this release are <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/sdk.md#msbuild-properties-in-launch-profile-arguments\" rel=\"nofollow noopener\" target=\"_blank\">MSBuild property expansion in launch-profile arguments<\/a>, an F# <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/fsharp.md#require-named-arguments-for-selected-apis\" rel=\"nofollow noopener\" target=\"_blank\">RequireNamedArgumentsAttribute<\/a>, a private-member R8 obfuscation default on Android, <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/winforms.md#suspend-painting-and-layout-during-bulk-updates\" rel=\"nofollow noopener\" target=\"_blank\">SuspendPainting<\/a> and <a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/winforms.md#new-kioskmodemanager-component\" rel=\"nofollow noopener\" target=\"_blank\">KioskModeManager<\/a> for Windows Forms, EF Core SaveChanges and JSON projection fixes.<\/p>\n<p>On <a href=\"https:\/\/www.reddit.com\/r\/dotnet\/comments\/1x59mvr\/announcing_net_11_release_candidate_2\/\" rel=\"nofollow noopener\" target=\"_blank\">Reddit<\/a>, discussion focused less on the features than on upgrade cadence. Commenters asked how many teams still skip odd-numbered releases, and others replied that since .NET 9 a standard-term release shares its end-of-support date with the preceding LTS version, moving to .NET 11 costs no support time.<\/p>\n<p>Other developers reported MAUI workloads breaking on every preview upgrade, questioned Blazor server-side rendering performance against Razor Pages and MVC, and welcomed the KioskModeManager component for Windows Forms.<\/p>\n<p>For interested readers and developers, the full release notes for .NET 11 RC 2 are available on the\u00a0<a href=\"https:\/\/github.com\/dotnet\/core\/blob\/main\/release-notes\/11.0\/preview\/rc2\/README.md\" target=\"_blank\" rel=\"nofollow noopener\">dotnet\/core repository<\/a>\u00a0on GitHub.<\/p>\n","protected":false},"excerpt":{"rendered":"Microsoft has released .NET 11 Release Candidate 2 with a go-live license for production use, as stated in&hellip;\n","protected":false},"author":2,"featured_media":635166,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[28670,184520,28672,170,311360,11781,111,139,69,145],"class_list":["post-635165","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology","tag-net-10","tag-net-11","tag-net-9","tag-development","tag-dotnet-11-rc-2","tag-net","tag-new-zealand","tag-newzealand","tag-nz","tag-technology"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/posts\/635165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/comments?post=635165"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/posts\/635165\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/media\/635166"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/media?parent=635165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/categories?post=635165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/tags?post=635165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}