Announcing .NET 5.0 Preview 2

Avatar

Richard

Today, we’re releasing .NET 5.0 Preview 2. It contains a set of smaller features and performance improvements. We’re continuing to work on the bigger features that will define the 5.0 release, some of which are starting to show up as initial designs at dotnet/designs. The .NET 5.0 Preview 1 post covers what we are planning on building for .NET 5.0. Please take a look at the post and the designs repository and share any feedback you have. And, of course, please install Preview 2, and test any workloads you can with it.

You can download .NET 5.0 Preview 2, for Windows, macOS, and Linux:

ASP.NET Core and EF Core are also being released today.

You need to use Visual Studio 2019 16.6 to use .NET 5.0. Install the latest version of the C# extension, to use .NET 5.0 with Visual Studio Code. Visual Studio for Mac isn’t yet supported.

Release notes:

Let’s look at some of the improvements in Preview 2.

Code quality improvements in RyuJIT

Every release includes a set of changes that improve the machine code that the JIT generates (we call this “code quality”). Better code quality means better performance. In summary, about half of the following improvements are actual new optimizations and the other half are due to changing the flow of RyuJIT to enable existing optimizations to apply to more code patterns.

If you like this style of improvement or are an ARM64 user, you may be interested in Vectorise BitArray for ARM64, coming soon (already merged, but not in Preview 2). This change demonstrates a lot of focus on ARM64 in .NET 5.0.

Garbage Collector

Closing

Please take a moment to try out Preview 2, possibly in a container, a VM. We’d like your feedback on the quality of the release. There is a lot more coming, over the next several months, leading up a November release.

We’re running 50% of the .NET Website traffic on .NET 5.0 as a test case, using Azure load balancing. We’ve been doing that since days after we released Preview 1. You may remember us doing something similar with .NET Core 3.0 and 3.1. By splitting the traffic 50/50, we can ensure that 5.0 gets consistently better with constant performance data available to us. This model keeps us honest, and it’s also a great testing approach. We trust our most important site with ALL of our previews, in production (which we don’t recommend for anyone else). That should make adopting our final release a pretty easy choice for you. The version number is in the footer of .NET website; feel free to check at any time.

Stepping back for a minute, many of you might be interested in how the the folks on the .NET Team at Microsoft are doing. We’re doing well. We have lots of Teams meeting every day to organize and support one another, and are just as active on GitHub as ever. The team is close-knit, and collaborating across multiple time-zones. We’re all focused on this release, and very much intending to deliver what we set out to deliver when we first defined our plans, after releasing .NET Core 3.0. Take care.

38 comments

Comments are closed. Login to edit/delete your existing comments

  • Avatar
    Theo Albers

    Please don’t forget to add a breaking changes list for migrating from 3.1 to 5.0. It’s very tempting to only discuss what has changed between 5.0 preview x and y, but typical devs will be migrating from 3.1 to 5.x. Incremental changes between previews might be small, but significant change from 3.1 to 5.0rtm.

  • Avatar
    Craig Johnson

    Trying out this preview on various projects. Performance is about 20% down overall vs Net Core 3.1. I’m sure perf optimization comes later but this is where is is at the moment.

    • Avatar
      Anand C

      Yes. Cross-platform UI stack atop a .net 5.0, is what MS must consider on priority, since it’s the UI that all end-users need to interact with an application; whether be it windows, web or mobile.

    • Avatar
      Tsahi

      People keep asking this, and MS keep answering: There is no good way to make a cross platform UI, unless you write a platform-independent library. Winforms is a wrapper around Win32 API, and WPF use DirectX to draw on screen, both Windows-only technologies.

      • Avatar
        Alexey Leonovich

        When people are asking MS about “cross-platform UI stack atop .NET 5.0” – it’s of course not about EXISTING WinForms or WFP implementations. It is a more like “how your work on a NEW cross-platform UI technology (maybe XAML-based or any other type) is going for now”? MS started a survey not long after .NET 5 was announced (about aspects of NEW cross-platform UI technology) – so we are asking about current progress..

    • Avatar
      Simon Ziegler

      Hey Alexey, is Blazor what you’re looking for? Presently an ASP.NET web technology but MS demonstrate native app with it as experiments too. Google “Steve Sanderson Blazor” to find out more.

  • Avatar
    Kalin Todorov

    Hi guys,

    We are unable to restore the latest preview version of Windows Compatibility Pack (5.0.0-preview.2.20160.6) in .Net 5 WPF application. Should this work at the moment or it is known issue?

    Regards,
    Kalin
    Telerik

  • Avatar
    Dominique Gratpain

    Hi,
    What’s about VB.NET and WindowsForms ?
    I read that they will be included with Core 5. ? Is it true ? Is it now or in future ?
    Take care for you and yours
    Best regards

  • Avatar
    Gavin Williams

    I keep reading that .Net 5 is a unification of .Net Framework and .Net Core, ahm, what about .Net UWP – I hope UWP devs can use .Net 5 the same as everybody else and target Win32+UWP for release with the click of a button. The situation now isn’t good, with .Net UWP years behind everybody else and stuck on C# 7.2 and almost no development of the platform.