Introduction

Between the 6th and the 8th of May was the biggest Microsoft event of the year, Build 2019 and lots of exciting announcements and existing technology solutions were discussed. The bulk of these announcements can be viewed in the Vision Keynote with Microsoft CEO Satya Nadella, as well as the two technical keynotes for Microsoft Azure and Microsoft 365 platform.

In this blog, I will focus on the future of .NET (2020+) and the related announcements that have come from last weeks Build conference.

Future of .NET

The biggest news from Build 2019 relating to .NET is the announcement of the next evolution of .NET Core which is .NET 5. The vision of .NET 5 will unify the .NET platforms (.NET Core, .NET framework and Xamarin) into one .NET and one toolchain.

Taking the best from each platform it aims to support all .NET application types. This will include support for both JIT (Just in time) and native models and can be used on the phone, desktop and Web with very little differences. It has the ability to interop with Java and Swift which mono currently allows you to do so that you can interact with native mobile application libraries.

Future view of .NET

Current view of .NET

What does .NET 5 not support?

Microsoft has confirmed that there are no plans to port over three parts of the .NET framework into .NET 5. This includes Web Forms, WCF server and Windows workflow which means that .NET Framework 4.8 we be the last version of .NET to support them.

Microsoft recommends migrating your Web Forms applications to ASP.NET Blazor and your WCF server to gRPC. Microsoft should provide a migration guide at some point. For applications which use Windows Workflow, Microsoft recommends an open source library call Core Workflow.

What is happening to .NET framework and Core?

The currently limited information Microsoft have provided, .NET Framework will be supported for the foreseeable future but 4.8 will be the last major version meaning that there should now only ever be 4.8.x versions and no 4.9.

In terms of .NET Core, 3.1 will be the last major version due to .NET 5 looking like a rebranding of what .NET Core 4 would have been. I hope you should be able to upgrade your applications just as easily as if you were going from .NET 2.2 to .NET 3.0.

When will .NET 5 be released and what next?

It has been confirmed that .NET 5.0 will be released in November of 2020 which just over a year since .NET Core 3 had been released. This signifies a yearly trend of .NET major releases which give further strength to the .NET platform as a development tool of the future.

After .NET 5 (2020+) Microsoft have confirmed that they are planning a full new release of .NET very year in the month of November for the foreseeable future. This includes a Long-Term Support (LTS) version every other year starting with .NET 6.0 in 2021. You should get at least three years of security updates and bug fixes for that time. See image below for the .NET schedule.

2020+ .NET release schedule

Conclusion

The future of .NET seems promising, a place to create any modern application. With .NET 5 there are gaps that need to be filled, but I am sure these will be drip fed across 2019 and 2020 due to .NET 5. This seems at the concept stage of development as .NET Core 3.0 will not be released until September 2019. As more information comes in more blog posts will follow.