Our Vision for .NET 9

.NET Team

Welcome to .NET 9! We’re at the beginning of another annual release cycle, following the successful launch of .NET 8 a few months back. We recommend that developers transition their apps to .NET 8. In this post, we’ll share our initial vision for .NET 9, set to be released at .NET Conf 2024 at the end of the year. Our most important focus areas are cloud-native and intelligent app development. You can expect significant investments in performance, productivity, and security, as well as advancements across the platform.

Today, let’s take a look at the .NET 9 focus areas and complementary integrations we plan to deliver in collaboration with partner teams at Microsoft. Our goal is to make .NET development more productive using Visual Studio, Visual Studio Code with the C# Dev Kit, and cloud deployments easier using Azure services. We’ll continue to work closely with our industry partners, like Canonical and Red Hat, to ensure that .NET works great wherever you use it.

.NET 9 is shaping up to be another major step forward for the platform. We’re delivering .NET 9 Preview 1 today and welcome your feedback on all the new features we’ve delivered.

Platform for Cloud-Native Developers

We’ve spent the last several years building out strong cloud native fundamentals, like runtime performance and application monitoring. We will continue that effort. We’re also turning our focus to delivering paved paths to popular production infrastructure and services, for example running in Kubernetes and using managed database and caching services like Redis. We will deliver those improvements at multiple layers of the .NET stack. Those capabilities all come together with .NET Aspire, which significantly reduces the cost and complexity of building cloud applications and the distance between development and production.

We’ve been developing Native AOT and application trimming as key tools to optimize production apps. In .NET 8, we optimized Web API applications (using the webapiaot template) for both trimming and AOT. In .NET 9, we are working on doing the same with other application types and improving the DATAS GC for all ASP.NET Core applications.

Our Azure Container Apps partners will ensure that .NET 9 apps can be scaled to multiple instances easily within their Kubernetes-based environment. We’re working with them to ensure that ephemeral data – like anti-forgery and auth tokens – are encrypted correctly using Data Protection and that rate limiting APIs are improved to ensure optimal behavior for and across each node.

The eShop reference architecture sample app that was showcased at .NET Conf last year will be updated to take advantage of these new capabilities and deployment options as .NET 9 evolves throughout the year.

Tools for Cloud-Native Developers

Our Visual Studio partners plan improvements that support and augment our cloud platform, Native AOT, .NET Aspire, and Azure deployment.

Native AOT code compilation requires installing and using tools that many .NET developers do not commonly use. Developers who want to cross-compile (for example, target Linux on Windows) currently rely on Docker and/or WSL2, as guided by our documentation and samples. Visual Studio support for AOT will expand to make Native AOT accessible to many more developers.

Visual Studio and Visual Studio Code will include new development and deployment experiences for .NET Aspire. This will include configuring components, debugging (including hot-reload) the AppHost and child processes, and fully integrating with the developer dashboard. Developers will be able to deploy their projects to Azure Container Apps, from Visual Studio, Visual Studio Code, and with Azure Developer CLI (azd).

.NET and Artificial Intelligence

OpenAI has sparked excitement among developers by offering the opportunity to transform their applications with AI. Over the past year, Azure Open AI and .NET have been leveraged to create AI solutions, with Microsoft Copilot being the most popular. We will continue to work with customers looking for ways to use their C# skills to build this new class of apps, and to rapidly invest in our AI platform.

In .NET 8, we expanded our investment beyond ML.NET. We focused on AI workloads, invested in getting started samples and documentation, and collaborated with the AI ecosystem partners to deliver C# clients for vector databases like Qdrant and Milvus and libraries like Semantic Kernel. Additionally, we added TensorPrimitives for .NET.

Looking ahead towards .NET 9, we are committed to making it even easier for .NET developers to integrate artificial intelligence into their existing and new applications. Developers will find great libraries and documentation for working with OpenAI and OSS models (hosted and local), and we’ll continue collaborating on Semantic Kernel, OpenAI, and Azure SDK to ensure that .NET developers have a first-class experience building intelligent applications.

We will be updating the ChatGPT + Enterprise Data with Azure OpenAI and Cognitive Search .NET Sample on GitHub throughout the release.

.NET 9 Backlog

These cloud-native and AI projects are just one part of what we’ll deliver. Backlogs have been published for .NET MAUI, ASP.NET Core and Blazor, C#, F#, and other runtime and tools components delivered in the .NET SDK. Check out the .NET 9 Project backlog on GitHub for your favorite product areas and features.

We are regularly definining new features and updating progress. We’ll update our backlog and the .NET 9 release notes as we go. We also have some experiements that we’re working on, which may become part of a future release.

Try .NET 9 Preview 1

.NET 9 Preview 1 is now available for download. Going forward, we’re going to publish preview releases to GitHub Discussions. We’ll tailor our .NET blog content to highlight the advantages of .NET 8, aiming to support your use of .NET 8 in production environments.

.NET Aspire Preview 3 is also shipping today. This release includes UI improvements to the dashboard, and new component support including Azure OpenAI, Kafka. Oracle, MySQL, CosmosDB & Orleans.

If previews are not your thing, please take a look at the .NET 8 release post. We’ve heard a lot of good feedback about early .NET 8 deployments. .NET 9 should be a very easy migration from .NET 8 (and previous releases).

Thank You

.NET is amazing because of all of you, the .NET community, who help drive .NET forward. We want to thank each and every person that has helped make this and every release fantastic by creating issues, commenting, contributing code, creating packages, joining live streams, and being active online and in their local regions. In the .NET 9 release notes you will find community member highlights for each release.

24 comments

Leave a comment

  • Tony Henrique 3

    Very good to see this .NET 9. .NET is awesome. Looking forward learn and use all the innovation that will come to .NET 9 and future versions.

  • Daniel Smith 18

    Please continue to share info on .NET 9 preview releases here on DevBlogs rather than switching exclusively to GitHub discussions. DevBlogs is a great way to get aggregated news in one place, as opposed to having to hunt through a million different places to find things.

    • James MontemagnoMicrosoft employee 1

      We actually hope things will be more discoverable and easier to find as you have 1 single place for announcements in the News category around releases: https://github.com/dotnet/core/discussions/categories/news.

      Here for example is the .NET 9 Preview 1 announcement, https://github.com/dotnet/core/discussions/9167, which gives you direct links to all information, release notes, discussions, and actually has more announcements from more teams for awareness. No sifting through all the other content in the blog.

      • Paulo Pinto 10

        This is hardly discoverable for most corporate folks unless they spend all their time on Github.

      • Lars Fernhomberg 5

        That is not more discoverable, because I am using an RSS feed reader to get information about .NET. As far as I can tell, the Github Discussions page does not have an RSS feed. I do not have the time or energy to frequently look across multiple sources to find information about updates.

        EDIT: There seems to be a Atom-feed: https://github.com/dotnet/core/discussions.atom

      • Daniel Smith 4

        I’m not saying there’s anything wrong with the GitHub discussion forums by the way – they’re great. But even if you guys could just post a one liner announcement here on DevBlogs with links to the GitHub announcements, that’d be super helpful, and would keep everyone in the loop.

      • Jiří Zídek 3

        RSS feed from devblogs works best for me, since I can aggregate in Outlook easilly.

    • Marvin KleinMusic 6

      I’m giving this an upvote.

      You can keep it in GitHub discussions as long as we get the usual posts like last year on the new stuff within the actual preview release.

    • Huo Yaoyuan 5

      +1 for RSS feed. RSS is really brilliant.

  • Davide Curioni 0

    One major release per year, that’s too much. One every 4 or 5 years is ok, more often it becomes ennoying. If you just add features without breaking compatibility, you should go on with minor releases. And you aren’t going to break compatibility, right? Because that would be really upsetting!

    • Николай Михеев 6

      Even 1 year is rare. And very few updates. I would like a lot more updates. Even without backward compatibility. It’s better to rewrite a little once, but then it’s always more convenient to write, and the code is more efficient.

    • Ikenna Aniobodo 1

      You are entitled to your opinion. But the release cycle as we have it now is perfect. NOBODY IS FORCING YOU TO UPGRADE. You can go back even to .NET Framework 3.5.

  • Daniel Smith 0

    Are there any plans to update the .NET Upgrade Planner to support .NET 9 as a target, or is it too early with the APIs still being in flux at this stage?

    One of the major things I’m concerned about with .NET 9 is the dropping of BinaryFormatter support which is going to be a major headache for desktop apps. The .NET Upgrade Planner is great for analysing binaries (especially 3rd party binaries I don’t have the source code for) and I’d like to be able to review the scale of potential issues as early as possible.

  • Stefan Hinterhegger 1

    WTF!
    vision for .NET 9 and not a single word about .NET MAUI 🤮

  • Rajendran R 0

    No single comment about vision for Blazor

  • MaxiTB 2

    I’m honestly a bit disappointed that there is a serious lack of features which are not directly related to Microsoft subscription services.
    For example what happened with extensions everything again again? I take that anytime over some mostly useless AI toys.

  • Obid Muhammad 1

    very nice, .NET 9 is helpfull for us, we are waiting .NET 10 from microsoft ))))

  • Renee GA 1

    Is there a place I can look into .net related wasm/wasi support progress? I believe there was a blog about microsoft planed to add more .net support for wasm in the future.

  • Guilherme Flores 0

    The .NET 9 announcement excites me, particularly the focus on cloud-native development and AI integrations. It’s thrilling to see Microsoft prioritize performance and productivity enhancements. The collaboration with industry partners and the community’s involvement in shaping .NET’s future underscore its evolving ecosystem. Can’t wait to explore .NET 9’s new features!

Feedback usabilla icon