Differences Between .NET Core and .NET Framework
Last Updated :
17 Jul, 2023
.NET Core is a free open source, a general-purpose development platform for developing modern cloud-based software applications on Windows, Linux, and macOS operating systems. It operates across several platforms and has been revamped to make .NET fast, scalable, and modern. .NET Core is one of Microsoft's big contributions and released under the MIT License. It offers the following features:
- Cross-Platform
- Open Source
- High Performance
- Multiple environments and development mode etc.
.NET is a software framework that is designed and developed by Microsoft. The first version of the .Net framework was 1.0 which came in the year 2002. In easy words, it is a virtual machine for compiling and executing programs written in different languages like C#, VB.Net, etc. It is used to develop form-based applications, web-based applications, and web services. There is a variety of programming languages available on the .Net platform, VB.Net, and C# being the most common ones. It is used to build applications for Windows, mobile, web, etc. It provides a lot of functionalities and also supports industry standards.

.NET Framework supports more than 60 programming languages in which 11 programming languages are designed and developed by Microsoft. The remaining Non-Microsoft languages which are supported by .NET Framework but not designed and developed by Microsoft.
Below is a table of differences between .Net Core and .Net Framework:
|
.Net Core is an open source.
| Certain components of the .Net Framework are open source.
|
Works on the principle of "build once, run anywhere". It is compatible with various operating systems — Windows, Linux, and Mac OS as it is cross-platform.
| .NET Framework is compatible with the windows operating system. Although, it was developed to support software and applications on all operating systems.
|
.Net Core does not support desktop application development and it rather focuses on the web, windows mobile, and windows store.
| .Net Framework is used for the development of both desktop and web applications as well as it supports windows forms and WPF applications.
|
.NET Core is packaged and installed independently of the underlying operating system as it is cross-platform.
| .NET Framework is installed as a single package for Windows operating system.
|
.Net Core supports the development and implementation of micro-services and the user has to create a REST API for its implementation.
| .Net Framework does not support the development and implementation of microservices but it supports the REST API services.
|
.NET Core offers high performance and scalability.
| .Net Framework is less effective in comparison to .Net Core in terms of performance and scalability of applications.
|
.NET Core is compatible with various operating systems — Windows, Linux, and Mac OS.
| .NET Framework is compatible only with the Windows operating system.
|
.NET Core is compatible with open-source mobile application platforms, i.e. Xamarin, through the .NET Standard Library. Developers use Xamarin's tools to configure the mobile app for specific mobile devices such as iOS, Android, and Windows phones.
| .NET Framework does not support any framework for mobile application development.
|
.Net Core is shipped as a collection of Nugget packages.
| All the libraries of .Net Framework are packaged and shipped together.
|
Whenever the updated version of .NET Core gets initiated; it is updated instantly on one machine at a time, thereby getting updated in new directories/folders in the existing application without affecting it. Thus, .NET Core has a good and flexible deployment model.
| In the case of .Net Framework, when the updated version is released it is first deployed on the Internet Information Server only.
|
It has support for microservices.
| It does not support creation and microservices.
|
It has no support for WCF services.
| It has excellent support for WCF services.
|
Supports Rest APIs
| It also supports REST Services.
|
.NET Core provides light-weight editors and command-line tools for all supported platforms.
| .Net Framework is heavy for Command Line Interface and developers prefer to work on the lightweight Command Line Interface.
|
.NET Core does not have features like Code Access Security.
| Code access security feature is present in .NET Framework.
|
What to use .NET Framework or .NET Core?
.NET Core is to be used for the server application when -
- There is cross-platform need.
- Targeting microservices or using Docker containers.
- Need of high performance and scalable systems.
- Side by side need of .NET versions per application.
.NET Framework is to be used for the server application when -
- Application is to be built to run only on Windows.
- If application uses .NET framework technologies not available for .NET Core.
- Applications that are already running on .NET Framework.
Conclusion-
If the application has to be built from scratch, choose .Net Core but, if it is already existing good in the .Net Framework and you are not planning to migrate it, then it is a better one.
Similar Reads
Difference Between .NET and ASP.NET Framework .NET Framework is used to develop Form-based applications, Web-based applications, and Web services. It is used to develop both desktops as well as server-based applications. There is a variety of programming languages available on the .Net platform, VB.Net, and C# being the most common ones. It is
2 min read
Difference between .com and .net domain 1. .com domain : The internet has made use of .com domains very popular. It is so popular that it can also be seen on the latest keyboard keys. The .com is a Top Level Domain. It is one of the first generic domains (as opposed to sponsored and restricted domains). It was basically introduced for use
4 min read
Difference Between VB.NET and C# Visual Basic .NET is a high-level programming language that was initially developed in 1991. It was the first programming language that directly supported programming graphical user interfaces using language-supplied objects. It supports all the concepts of an object-oriented such as object, class,
2 min read
Difference Between Java and .NET Java and .NET are both popular and widely used platforms for developers. These are used to create robust and scalable applications, which can be web or system applications. But both Java and .NET have some different features and are used for various functionalities and purposes. The main difference
3 min read
Difference between Managed and Unmanaged code in .NET Managed code is the code which is managed by the CLR(Common Language Runtime) in .NET Framework. Whereas the Unmanaged code is the code which is directly executed by the operating system. Below are some important differences between the Managed code and Unmanaged code: Managed CodeUnmanaged CodeIt i
2 min read
Difference Between C# and ASP.NET Pre-requisites: C#, ASP.NET C# (also known as C sharp) is an object-oriented programming language that is used to produce an array of applications for gaming, mobile, web, and Windows platforms also It is a modern and type-safe language and provides simple syntax which makes it easier to learn and i
2 min read