February 10th, 2026
likeheart3 reactions

.NET 11 Preview 1 is now available!

Today, we are excited to announce the first preview release of .NET 11! We just shipped our first preview release, adding to some major enhancements across the .NET Runtime, SDK, libraries, C#, ASP.NET Core, Blazor, .NET MAUI, and more. Check out the full release notes linked below and get started today.

This release contains the following improvements.

📚Libraries

⏱️Runtime

🛠️ SDK

🔨 MSBuild

C#

F#

This release you will find updates across the F# compiler, including parallel compilation enabled by default, faster compilation of computation expression-heavy code, new features like --disableLanguageFeature and --typecheck-only for FSI, the ML compatibility removal, and bug fixes.

Visual Basic

.NET 11 Preview 1 doesn’t include any new Visual Basic language features or breaking changes. Browse the full release notes for details.

🌐 ASP.NET Core & Blazor

📱 .NET MAUI

.NET for Android

Browse the full release notes for all of this and more.

🖥️ Windows Forms

This release focused on quality improvements. A full list of changes can be found in the release notes.

🖥️ Windows Presentation Foundation (WPF)

This release focused on quality improvements, including fixes for Fluent window backdrop and background in Windows 10. A full list of changes can be found in the release notes.

🎁 Entity Framework Core

📦 Container Images

.NET 11 Preview 1 does not introduce new container image features. Browse the full release notes for details.

🚀 Get started

To get started with .NET 11, install the .NET 11 SDK.

If you’re on Windows using Visual Studio, we recommend installing the latest Visual Studio 2026 Insiders. You can also use Visual Studio Code and the C# Dev Kit extension with .NET 11.

Author

.NET is the free, open-source, cross-platform framework for building modern apps and powerful cloud services.

9 comments

Sort by :
  • Stilgar Naib 15 minutes ago

    Collection Expression Arguments feature is bullshit and you know it. Please when you design analyzers give us granularity so we won’t have to disable the analyzers suggesting collection expressions in general. (BTW the current analyzer wants me to use collection expressions in place of .ToList() on a LINQ query, which is of course stupid)

  • Paulo Pinto

    I really don’t get the point of Collection Expression Arguments.

    This syntax looks out of place in C#,

    // Initialize to twice the capacity since we'll have to add
    // more values later.
    List names = [with(capacity: values.Count * 2), .. values];

    And it is questionable of much this saves in typing, to the expense of getting the language one step closer to all the C++ gotchas, with special cased syntax.

    • Dalibor Čarapić 4 hours ago

      FYI people working on .NET have to release new versions every year and each new version has to add 'value' compared to the previous one.
      If they do not do that there is probably a high chance that MS would kill of .NET and move them to work on Azure or MS365.
      This situation forces them to add features which nobody would normally add if they had a choice.
      This is also why I'm highly skeptical about the future of .NET ... seems like a train where few people are screaming to go faster while all others are hanging for...

      Read more
      • Paulo Pinto 3 seconds ago

        Worse you cannot have a method called with, that you happen to call for that syntax.

      • Stilgar Naib 14 minutes ago

        They have enough work to do on union types and the traits feature (I think they called it shapes), features that are actually useful

      • Dalibor Čarapić 2 hours ago

        @Calvin Nel
        The question is why do we even have the [] syntax?
        What is wrong with:
        > List names = new();
        > names.AddRange(....);
        Is that one line so important to add additional complexity to the language and offer same functionality in 3 different ways?
        How are the new developers who want to learn .NET going to cope with '... oh, and you can do this in 3 different ways ... good luck remembering the syntax of each one ...'?

        If this syntax was introduced then why not immediately handle the edge cases such as this one or why not immediately...

        Read more
      • Calvin Nel 2 hours ago · Edited

        to better understand what was done...
        you need to know what was changed.. so we know how we got here.

        before
        List names = new List();

        now
        List names = [];

        allowing the left hand side to change... while auto figuring out the right ( most modern lang do something simular-ish), so a requested feature, adding value)

        Now the question is how do you supply capacity with this new syntax? plus if there other options..., remember they not taking away the default syntax..

        if you have a better suggestion and it is widley seen as better im sure thats what would be adopted...
        saying...

        Read more
      • Rand Random 3 hours ago

        seems like someone read the book “conspiracy theory 101”

  • Renee GA

    CoreCLR on WebAssembly <— That's interesting, how do I test that?