.NET Is One With .NET 5
Written by Mike James   
Tuesday, 07 May 2019

Microsoft's developer environment is something of a mess these days but at least one set of strands is about to unify. In the near future there will be just one .NET - to rule them all?

Once upon a time Microsoft seemed to have a clear idea of what programming under Windows was all about. Even if you didn't agree with it, you knew what it was. Today you can use almost anything you like and Microsoft struggles not to simplify but to include everything it can - Python, Linux you name it and Microsoft supports it. Some think this is great, even if there are some suspicions that it might be more of the "embrace, extend extinguish" strategy of the past. I don't think it's Machiavellian I  just think it's a lack of any clear vision. So the news that .NET is about to become simple once again is welcome.

Of course, .NET used to be the jewel in the crown of Microsoft's developer environments. You either wrote for .NET or you struggled with C++ and who needed COM? Well the forces of chaos finally overwhelmed .NET with the new Windows Runtime which evolved into Universal Windows Platform. The managed code platform became so unimportant to Microsoft that it open sourced it in an attempt to make throwing it away look more like a second chance. Strangely it has turned out to be more successful than you might think, but it created a big problem for the Microsoft programmer. Which .NET to use - Core or the real thing? It was clear that the real thing was doomed, no matter what Microsoft said to the contrary, and the open-source, cross-platform Core just didn't have everything you needed.


These troubled times seem to be almost over. At Build 2019 Microsoft announced, seemingly illogically, that the next version of .NET Core 3 would be .NET 5. The reason it is five is that the real .NET is at 4.8 and this new version will be the continuation of both lines. That is in the future there will just be .NET 5.

"There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more."

There are big plans for 5: 

  • Produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences.
  • Expand the capabilities of .NET by taking the best of .NET Core, .NET Framework, Xamarin and Mono.
  • Build that product out of a single code-base that developers (Microsoft and the community) can work on and expand together and that improves all scenarios. 

The estimated date for all this to be complete is November 2020 with 6 and 7 following each year in November.

If you have projects based on .NET 4.8 and earlier you may well be worried as Microsoft has now seemingly gone back on its 2018 promise:

If you have existing .NET Framework applications, you should not feel pressured to move to .NET Core. Both .NET Framework and .NET Core will move forward, and both will be fully supported, .NET Framework will always be a part of Windows. But moving forward they will contain somewhat different features. Even inside of Microsoft we have many large product lines that are based on .NET Framework and will remain on .NET Framework.

It now seems that .NET Framework will continue to exist, but it won't be moving forward in any meaningful sense.

Is there any advantage to us in this new open-source cross-platform arrangement?

Yes, of course. Not having Microsoft in charge means .NET isn't likely to be dumped, but you need to remember that not all of the .NET 5 will be cross-platform. All of the UI APIs depend on a Windows runtime and this isn't likely to change as Microsoft has ruled out any cross-platform code making into the repos.

A future advantage is that as the original .NET Framework becomes increasingly forgotten we can be less confused by the options. One .NET and that's all there is.

This is all good news within the .NET ecosystem, but does it have a wider future?

Will Microsoft realize that UWP apps are a waste of effort? There are no phones to run them on any longer and Windows 10 tablets aren't a huge success. And in any case all that was needed was a few tweaks to the existing Windows and programming frameworks and we could have the same things without the upheaval.

Microsoft is quite capable of dropping UWP in favour of PWAs (Progressive Windows Apps). The writting isn't quite on the wall yet, but you can see the pen poised and ready to invent some spin that makes it all seem like a cunning plan.

More Information

Introducing .NET 5

Related Articles

Forms, WPF and UI Go Open Source

.NET Core 3 Gets A GUI

Microsoft Asks For Help On The Future Of .NET - Where Do We Start?

Blazor .NET In The Browser

Silverlight Bridge To UWP Apps       

Not Dumping .NET - Microsoft's Method    

Dumping .NET - Microsoft's Madness   

Microsoft Open Sources .NET?       

Was .NET all a mistake?

The War At Microsoft - Managed v Unmanaged

Windows and .NET - the coming storm

WPF Lives!

Microsoft v The Developers       

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Apache Shiro 2.0 Released

Apache Shiro 2.0 has been released. The Java security framework now requires at least Java 11, and has added support for Jakarta EE 10.

Run WebAssembly Components Inside Node.js With Jco

Jco 1.0 has been just announced by the Bytecode Alliance.It's a native JavaScript WebAssembly toolchain and runtime that runs Wasm components inside Node.js. Why is that useful?

More News

raspberry pi books



or email your comment to: comments@i-programmer.info



Last Updated ( Tuesday, 07 May 2019 )