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.
I gave up on .NET since version 5.0. It is just a moving target and a lot of nonsense. It is a terrible platform for an environment where stability and compatibility are important. I stayed with .NET Framework 4.8.1 and I can achieve everything and it just works well.
We are moving from .NET Framework 4.8 to Core 8 for the same reason )))
For us it is all easier, faster, more stable and more straight forward with Core.
However, a learning curve expected.
dotnet 5-7 kept getting better each release, but was a little rough transition with the unified platform work going on (RIP Xamarin). Dotnet 8 is almost perfect, but my wish list for 9 are EF Core support for Native AOT, and maybe if Maui can tighten up and smooth out its pain points. (To be fair, I have not yet tried Maui with dot net 8, I tried and gave up trying to use...
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!
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.
very nice, .NET 9 is helpfull for us, we are waiting .NET 10 from microsoft ))))
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.
No single comment about vision for Blazor
See this section https://devblogs.microsoft.com/dotnet/our-vision-for-dotnet-9/#net-9-backlog and take a look at the ASP.NET Core roadmap.
This is about the runtime itself. I don’t see mention of anything else like ASP.NET Core or EF Core in it either. Those will have their own roadmaps.
WTF!
vision for .NET 9 and not a single word about .NET MAUI 🤮
Maui sucks. Entire projects that failed with that technology
MAUI is dead, baby, MAUI is dead….))
Just use Flutter, it’s awesome, rapidly evolving and doesn’t use stupid binding to native ui elements
https://github.com/dotnet/maui/wiki/Roadmap
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...
Thank you for sharing the vision and roadmap on .NET 9.
I want to use this post as occasion to maybe suggest another satisfaction review.
There was a GitHub survey back in 2020 about the developer experience engaging with the different .NET GitHub repositories.
The result can be seen here for example:
https://visualstudiomagazine.com/articles/2020/09/30/wpf-survey.aspx
One of the most obvious problems was regarding the WPF repository.
And since it is part of the .NET family I want to emphasize that...