“The .NET Framework is on it’s last release — there will not be another one after 4.8”

The sun is setting on .NET Framework. From now on, .NET Core is king.

I̵t̵ ̵i̵s̵ ̵a̵l̵l̵ ̵b̵u̵t̵ ̵c̵o̵n̵f̵i̵r̵m̵e̵d̵ ̵t̵h̵a̵t̵ ̵.̵N̵E̵T̵ ̵F̵r̵a̵m̵e̵w̵o̵r̵k̵ ̵v̵4̵.̵8̵ ̵w̵i̵l̵l̵ ̵b̵e̵ ̵t̵h̵e̵ ̵f̵i̵n̵a̵l̵ ̵r̵e̵l̵e̵a̵s̵e̵,̵ ̵a̵n̵d̵ ̵t̵h̵a̵t̵ ̵a̵l̵l̵ ̵s̵u̵b̵s̵e̵q̵u̵e̵n̵t̵ ̵i̵n̵n̵o̵v̵a̵t̵i̵o̵n̵ ̵w̵i̵l̵l̵ ̵b̵e̵ ̵h̵a̵p̵p̵e̵n̵i̵n̵g̵ ̵o̵n̵ ̵.̵N̵E̵T̵ ̵C̵o̵r̵e̵.̵ ̵I̵t̵ ̵i̵s̵ ̵t̵i̵m̵e̵ ̵f̵o̵r̵ ̵u̵s̵ ̵a̵l̵l̵ ̵t̵o̵ ̵m̵a̵k̵e̵ ̵t̵h̵e̵ ̵s̵w̵i̵t̵c̵h̵.̵

I fully expect an announcement from Microsoft in the coming months to confirm that Framework v4.8 will be the final release, and that from that point onward, the bulk of the development work will be on Core. Meaning that Core will get all of the new innovations etc moving forward. To be clear, this does NOT mean that framework will go away. It will continue to be supported, and will be as usable, performant, etc as it is now for many many years. There is no need to rush out and do a re-write of existing code. I do however believe that from this point onward Core should be the default choice for new applications.

.NET Core arrived a few short years ago in 2016. At the time it seemed like Microsoft had created a little brother for .NET to let the Mac and Linux fans have a toy to play with. That was certainly my assumption at the time, until the announcement of .NET core 3 this year, which brings WPF and Winforms to .NET Core.

Why would Microsoft do such a thing? Here’s why.

.NET Framework is 18 years old this year. There are millions of applications built on top of it, making use of every single piece of functionality Microsoft have ever built in. The weight of all of these applications makes Framework incredibly ‘heavy’. Every change needs to be weighed and measured with a primary focus on not breaking anything. The opportunity to really innovate at the core (no pun intended) of .NET Framework is fading fast.

RIP .NET Framework

What’s the answer to this conundrum? Everyone who’s supporting an 18 year old code base knows the answer! It’s time for a ground up re-write! And that is really what we have with .NET Core. A fresh start for .NET with none of the legacy issues.

And just look at some of the benefits! With barely any legacy applications to support, all of the newest innovations are in Core. This means better performance, practically across the board. Not to mention much better support for containers, cross platform (obviously!), and a really ‘baked in’ focus on microservices.

What does this mean for all of us Framework developers?

Nothing!

Nothing?

Framework may be ‘done’, but unlike Silverlight, it is NOT dead. Microsoft still support VB6 runtime, so they won’t be ditching Framework any time soon. Again, unlike Silverlight, there is no need to rush out and re-write all of your Framework applications. Microsoft will continue to release bug fixes and minor performance increases to continue for many years - I’d expect Framework to outlive your application by decades!

H̵o̵w̵e̵v̵e̵r̵,̵ ̵s̵t̵a̵r̵t̵i̵n̵g̵ ̵a̵ ̵p̵r̵o̵j̵e̵c̵t̵ ̵i̵n̵ ̵F̵r̵a̵m̵e̵w̵o̵r̵k̵ ̵n̵o̵w̵ ̵i̵s̵ ̵n̵o̵t̵ ̵a̵ ̵g̵o̵o̵d̵ ̵i̵d̵e̵a̵.̵

If starting a new project now, it is definitely worth thinking about the fact that while Framework will continue to be supported, presumably for the next 20+ years, the latest and greatest features will appear on the Core platform. Forewarned is forearmed, and I think that it is important to make this choice carefully. Be aware of what Core can / can not do, and be aware of the roadmap for both options.

I think that this could have maybe been better communicated by Microsoft. My assumption is that they will wait until after Core v3 is released.

Since I’m just a guy with a Medium blog, you probably shouldn’t take my word for it. Check out this podcast at the 20 minute mark to hear Dustin Metzgar corroborate my story! (But please also listen to the whole thing, to make sure that you appreciate the context of what is being said)

New projects, be they web or desktop, should be started in .NET Core.

Starting a project now in framework will give you a stable platform to build upon, which may start to lag behind core in terms of cutting edge features and innovations.

Starting a project in Core now ensures that you’ll stay up to date with the latest and greatest from Microsoft, for many years to come.

It is my opinion that Core is the right choice in many / most cases for new applications. But, make your choice, and then write some awesome applications!

If you found this article interesting, please give it some claps and follow me on Medium to see more content like this.

I am currently working on EdgeFund, an open-source platform which offers a decentralised shared bankroll on the Blockchain. To learn more about EdgeFund, please visit our website or join our telegram group to chat to the team and be sure to follow us on Twitter!