.NET Core vs .NET
What should you choose for your next application - .NET Framework or .NET Core? In this article, let’s compare these two platforms and see if we can come to a conclusion.
=======
.NET Framework Advantages
If you’re a .NET developer who needs to build and release something fast and you don't have time to learn .NET Core, then the .NET Framework is your choice. .NET Core does have a learning curve.
If you’re maintaining and upgrading existing .NET apps, .NET Framework is your choice. Porting an existing .NET app to a .NET Core app requires some work.
Looking for a job? You may not find too many jobs in .NET Core right now.
.NET Framework is what it is. The current version of .NET Framework, 4.8, is supposed to be the last version of .NET Framework. There will be no more new versions of .NET Framework planned in the future.
.NET Core Advantages
If you’re building a new application and have a choice between .NET Core and .NET Framework, .NET Core is the way to go.
Microsoft just announced .NET Core v 3.0, which is a much-improved version of .NET Core. If you want to learn and build for the future, .NET Core is the way.
.NET 3.0 now supports WPF and Windows Forms. .NET Core 3.0 also supports cross-development between UWP, WPF, and Windows Forms. This provides developers the flexibility to bring modern interfaces of UWP into Windows Forms and WPF.
If you’re building a new app and your company has approved it, .NET Core is the way to go. .NET Core will continue to get better and better.
.NET Core is better suited for cross-platform needs. .NET Core apps are supported on Windows, Linux, and macOS. Microsoft’s popular open-source code editor, Visual Studio Code, is supported on Windows, Linux, and macOS. VS Code supports the modern needs of code editors including IntelliSense and debugging. Most third-party editors, such as Sublime, Emacs, and VI, work with .NET Core.
Microservices architecture is supported in .NET Core, which allows cross-platform services to work with .NET Core including services developed with .NET Framework, Java, Ruby, or others.
Containers are the VMs of today. .NET Core’s modularity, lightweight, and flexibility makes it easier to deploy .NET Core apps in containers. Containers can be deployed on any platform, cloud, Linux, and Windows. .NET Core works well with both Docker and Azure Kubernetes Service.
A need for high performance and scalable systems.
Performance and scalability were the two major key focus areas when .NET Core was developed. .NET Core and ASP.NET Core are the top-performing web frameworks according to some benchmarks.
.NET Core versions play well together. You can easily run multiple versions and apps side by side on the same machine.
Power of C#
C# is the most versatile programming languages among all and it is changing every few month. Every minor release of the languages introduces some cool and modern features. The current versions C# 8.0 and C# 9.0 have introduced several new features to make programmers' lives easier. The language is designed to write clean, faster, and modern code. The language is designed to be productive. Check out C# 8 Features and Deev Dive into C# 9 to learn more about these featurs.
================= Previous version ========================
.NET Ecosystem
Let’s review the following .NET ecosystem architecture diagram, as of today.

As you can see from the above diagram, the .NET ecosystem has three major high-level components - .NET Framework, .NET Core, and Xamarin.
Xamarin is not a debate at all. When you want to build a mobile (iOS, Android, and Windows Mobile) apps using C#, Xamarin is your only choice.
The .NET Framework
supports Windows and Web applications. Today, you can use Windows Forms, WPF, and UWP to build Windows applications in .NET Framework. ASP.NET MVC is used to build Web applications in .NET Framework..NET Core
is the new open-source and cross-platform framework to build applications for all operating systems including Windows, Mac, and Linux. .NET Core supports UWP and ASP.NET Core only. UWP is used to build Windows 10 targets Windows and mobile applications. ASP.NET Core is used to build browser-based web applications.
So, what to choose between .NET Core and .NET?
If you have to make a choice between the .NET Framework and .NET Core today, here are the criteria. Keep in mind, a year or so down the road, you may not want to choose .NET Framework at all.
As of today:
.NET Framework is a better choice if you:
- Do not have time to learn new technology.
- Need a stable environment to work in.
- Have nearer release schedules.
- We are already working on an existing app and extending its functionality.
- Already have an existing team with .NET expertise and building production-ready software.
- Do not want to deal with continuous upgrades and changes.
- Building Windows client applications using Windows Forms or WPF
.NET Core is a better choice if you:
- Want to target your apps on Windows, Linux, and Mac operating systems.
- Are not afraid of learning new things.
- Are not afraid of breaking and fixing things since .NET Core is not fully matured yet.
- A student who is just learning .NET.
- Love open source.
The following table may help you make your decision.
| A high-performance and scalable system without UI | .NET Core is much faster. |
| Docker containers support | Both, but .NET Core is born to live in a container. |
| Heavily rely on the command line | .NET Core has better support. |
| Cross-platform needs | .NET Core |
| Using Microservices | Both, but .NET Core is designed to keep today's needs in mind. |
| User interface centric Web applications | .NET Framework is better now until .NET Core catches up. |
| Windows client applications using Windows Forms and WPF |
.NET Framework
|
| Already have a pre-configured environment and systems | .NET Framework is better. |
| Stable version for an immediate need to build and deploy | .NET Framework has been around since 2001. .NET Core is just a baby. |
| Have existing experienced .NET team | .NET Core has a learning curve. |
| Time is not a problem. Experiments are acceptable. No rush to deployment. | .NET Core is the future of .NET. |
Future of .NET
Microsoft has just announced .NET 5, which will be available in 2020. .NET 5 will replace .NET Core and is the future of .NET Framework and .NET Core. .NET 5 will not support ASP.NET Web Forms, WCF, or WWF. UWP also does not have a major role to play in the future. Read here to learn more about the future of .NET.
Porting .NET applications to .NET Core
Here is a document that explains the process of porting .NET framework applications to .NET Core.
Migrating ASP.NET to ASP.NET Core
Here is a reference document for migrating ASP.NET to ASP.NET Core.
Note: Not all .NET framework applications can be ported to .NET Core.

Kumar SPosted Aug 21, 2021, 8:19 AM
Thanks, We developed .NET Core web application using VS 2019 on windows OS. but I want to deploy on Linux server. Can we do?
Jordan TaylorPosted Jul 27, 2021, 3:58 AM
Great stuff, one question I had was that when you ASP.NET / ASP.NET Core is this the same as thinking of .NET vs .NET Core??
Fatih CoskunPosted Jun 22, 2021, 2:34 PM
Thanks a lot for great expression
tank taeyangPosted Aug 17, 2020, 8:05 PM
I got questions, the .net Core cant support the mobile web application?
Guest UserPosted Jul 5, 2020, 2:01 PM
One might want to mention that even that NET 5.0 arrives in november this year, it is only when 6.0 arrives in nov 2021 it becomes LTS. (Long Term Support), which means that when 6.0 comes, 5.0 could become end of life.
Pradeep RaoPosted Jul 5, 2020, 6:25 AM
.NET Core isn't matured yet!!! why would you say that
Sambhav SharmaPosted Jul 2, 2020, 1:04 PM
Can you please let me know thatIf i talk about the migration then please let me know what are the .net application i can start migrate from .net framework to .net core version 1 and 2 and 3. Like .net core 1 Which .net app use to migrate .net core 2 which .net app use to migrate .net core 3 which .net app use to migrate And also let me know that what are the languages which i can migrate from .net frmawork to .net core 1 and 2 and 3. Kindly give me answer. Thanks in Advanced.
Rikam PalkarPosted May 24, 2020, 12:25 PM
I guess this is much needed article. Good read
Farhan AhmedPosted May 24, 2020, 5:45 AM
Great article
Midhushan MohanPosted May 3, 2020, 8:18 AM
Thank You. So much
anuUU anuPosted Apr 19, 2020, 12:48 PM
URGENT!! Can you help???My skill:?A good U.I designer, WORDPRESS designer, with c sharp and.web forms experience. I love c sharp as a language and do a bit of PHP.?? I dislike .NET MVC as it seems too complex for me.? My Objective:?To develop web applications without much hassle and quickly using the best possible web frameworks that supports web api development for mobile app handshake.?I am learning laravel framework at the moment because it has lots of benefits especially the ease of development BUT STILL I?PREFER C# framework. I came across Blade and .Net Core recently. I don't mind learning a C# framework but I don't like .NET MVC. Its difficult and complex for me. I love the old asp.net web forms because of its drag n drop features on VS as time and speed are very key for me as a business man.? I dont want to waste time writing too many codes. I want a quick development framework that can achieve my objective.?So, please what framework would you advise me to learn and why? Some features that i am considering in my web app are:?1) easy secured authentication and role management,?2) database migration,?3) web api development without stress?4) lots of automations if possible (eg drag n drop,?5)? easy UI designing, etc...6) i love?GUI or visuals not terminals,?but i can manage Actually, Laravel? meets the above list? but its not C# oriented. I prefer C#.So pls what framework would you recommend to learn if i'm using C#?
Amit KumarPosted Mar 12, 2020, 11:58 PM
Thank you so much Sir. Sharing for valuable information..
Onkar SharmaPosted Mar 12, 2020, 1:25 PM
Thanks for sharing this valuable information...it is really helpful...
Dipa MehtaPosted Mar 6, 2020, 7:50 AM
Well explained and informative for .Net interviews. Thanks for sharing.
Jerald James CapaoPosted Jan 24, 2020, 3:28 PM
Thank you sir, very well-explained. I am planning to create my own website using .NET Core and good to know that this will be the future of .NET. More power to you!
Prasad MakkenaPosted Dec 30, 2019, 2:09 AM
Thank You Very Much Sir.
vimalan kumarakulasingamPosted Dec 28, 2019, 12:43 AM
The Explanation is simply super
Robert ComeauPosted Nov 11, 2019, 5:50 AM
Your visual needs a fix, one is a luxury suv, and yes the other is a sports car. The main reason is WCF and all associated products and components. And if you start with a sports car and ask for extra seating, you end up in an SUV
Dharmendra Kumar PanditPosted Aug 28, 2019, 1:47 PM
Sir what is UWP? Can you explain it?
Dharmendra Kumar PanditPosted Aug 28, 2019, 1:44 PM
Nice article about .net framework and .net core.
Muralidharan DheenadhayalanPosted May 14, 2019, 9:56 AM
Microsoft’s popular open source code editor, Visual Studio Code, is not supported on Linux and macOS. There is a small typo here. I think, it should be * is now supported instead of is not supported
Jefferson S. MottaPosted May 2, 2019, 11:32 AM
With .NET Core 3.0 we have Windows Forms and WPF too.
shrikant JumbadPosted Apr 29, 2019, 5:30 AM
Very nice and helpful article
Jefferson S. MottaPosted Apr 13, 2019, 12:13 AM
When .NET Core 6.0 will be release, will grow another technology .NET All (something like this name - the most advanced one) and .NET Core will be the todays .NET Framework 4.8 (the last one). Microsoft based technologies do not go beyond the 6.0 versions without a master change that change$$$ the whole world.
Comfort NyatsinePosted Apr 12, 2019, 7:59 AM
Thank you very much. Well explained!!
Sarath BaijuPosted Jan 9, 2019, 10:20 PM
Well explained
Vivek AbyzPosted Dec 14, 2018, 12:22 AM
Nice article.
Niranjan KhanapurkarPosted Oct 15, 2018, 11:20 PM
Nice article. Since there is no versions are mentioned in the articles for .NET Core. what's your view on the .NET Core 3 announced by Microsoft in build 2018 for desktop applications primary WPF and Win forms? https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
Sumit SharmaPosted Sep 10, 2018, 2:00 AM
Well Explained!
Adalat KhanPosted Aug 16, 2018, 7:55 PM
Excellent comparison. Thanks for sharing such a valuable stuff.
Lakshmanan Sethu SankaranarayanPosted May 8, 2018, 2:45 PM
Thank you Mahesh Chand. Very useful.
Priyanka KalePosted Mar 16, 2018, 3:57 AM
Very helpful and Great information,I appreciate advise especially coming from a professional. Thanks again and keep up the great work!
Ricky JhaPosted Nov 17, 2017, 4:32 AM
Nice... Great sir, Thanks for sharing
Pacacio SurielPosted Nov 13, 2017, 4:48 PM
Excellent article, Mr. Mahesh, thank you for sharing.
Ajay ParmarPosted Sep 11, 2017, 2:36 AM
Hello Mahesh Sir,I am new to Dot Net programming but as I know when Java introduces they say Java is platform independent that mean you can run Java program on Windows as well as on Linux. Same way when C#.net (Dot Net) introduce we thought it is platform independent also. If CLR produce native code in each OS then what is the need of Dot Net Core? Can you please explain in non-technical language that what is difference between CLR platform independency and Dot Net Core platform independency?
AbdulRazak ِAhmedPosted Mar 17, 2017, 3:30 PM
Thank you Mr. Mahesh for this informative article. Interested to know the future of Xamarin?
arvind baldaniyaPosted Feb 28, 2017, 11:06 AM
What is Future Of xamarin
Anu VPosted Dec 8, 2016, 11:31 PM
Excellent explanations in few lines.
Tarik ErrabbahPosted Dec 7, 2016, 5:29 AM
Informative article, thanks fro shariiiing ^^
Bikesh SrivastavaPosted Dec 7, 2016, 2:55 AM
Very nice article ,But i have one query actually i am migrating asp.net application to Webapi with angular 2 typescript , i have done web api part,but now i am little bit confuse to use asp.net core or npm. this application is only for Web based not,mobile,window or other.can you anybody confirm me what is the best approach
Janshair KhanPosted Dec 6, 2016, 11:26 AM
Nice effort. But I suppose it is possible to feature .NET Core as the part of Microservices. What do you say? :)
Edrick LomibaoPosted Dec 5, 2016, 8:44 PM
Nice Article, thanks for sharing
amar deepPosted Dec 5, 2016, 11:01 AM
Thanks Mahesh for information . I have a query in my mind that can we upgrade our existing .Net application to .Net Core
Karthik ElumalaiPosted Dec 5, 2016, 10:15 AM
Informative and thanks for sharing
Humayun Kabir MamunPosted Dec 5, 2016, 3:38 AM
Thanks Mr. Mahesh for this informative post...
Jaco ZwartsPosted Dec 5, 2016, 2:12 AM
Mahesh Chand, thank you for the post, good comparison
Chirag SatasiyaPosted Dec 5, 2016, 1:16 AM
Very informative and clear. Thanks Mahesh for creating and sharing such a nice piece of info. I have one questions here specially for .NET core. Now with .NET core we can create cross-platform application for Windows, Linux and Mac. So if any organization planning for creating any application which is cross platform, so in that case do that organization requires three separate team for each platform?