Differences Between .NET Core and .
NET Framework
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:
BASED ON .NET Core .NET Framework
Open Source Certain components of
.Net Core is an open source. the .Net Framework are
open source.
Cross- .NET Framework is
Platform compatible with the
Works on the principle of “build once, run windows operating
anywhere”. It is compatible with various system. Although, it was
operating systems — Windows, Linux, and developed to support
Mac OS as it is cross-platform. software and
applications on all
operating systems.
Application .Net Framework is used
Models .Net Core does not support desktop for the development of
application development and it rather both desktop and web
focuses on the web, windows mobile, and applications as well as it
windows store. supports windows forms
and WPF applications.
Installation .NET Framework is
.NET Core is packaged and installed
installed as a single
independently of the underlying operating
package for Windows
system as it is cross-platform.
operating system.
Support for .Net Framework does not
Micro- .Net Core supports the development and support the development
Services and implementation of micro-services and the and implementation of
REST user has to create a REST API for its microservices but it
Services implementation. supports the REST API
services.
Performance .Net Framework is less
and effective in comparison
Scalability .NET Core offers high performance and to .Net Core in terms of
scalability. performance and
scalability of
applications.
Compatibility .NET Framework is
.NET Core is compatible with various
compatible only with the
operating systems — Windows, Linux, and
Windows operating
Mac OS.
system.
Android .NET Core is compatible with open-source
Development mobile application platforms, i.e. Xamarin,
.NET Framework does
through the .NET Standard Library.
not support any
Developers use Xamarin’s tools to configure
framework for mobile
the mobile app for specific mobile devices
application development.
such as iOS, Android, and Windows
phones.
Packaging All the libraries of .Net
.Net Core is shipped as a collection of
and Shipping Framework are packaged
Nugget packages.
and shipped together.
Deployment Whenever the updated version of .NET
In the case of .Net
Model Core gets initiated; it is updated instantly
Framework, when the
on one machine at a time, thereby getting
updated version is
updated in new directories/folders in the
released it is first
existing application without affecting it.
deployed on the Internet
Thus, .NET Core has a good and flexible
Information Server only.
deployment model.
Support It does not support
It has support for microservices. creation and
microservices.
WCF It has excellent support
It has no support for WCF services.
Services for WCF services.
Rest APIs It also supports REST
Supports Rest APIs
Services.
CLI Tools .Net Framework is heavy
for Command Line
.NET Core provides light-weight editors and
Interface and developers
command-line tools for all supported
prefer to work on the
platforms.
lightweight Command
Line Interface.
Security Code access security
.NET Core does not have features like Code
feature is present in .NET
Access Security.
Framework.
What to use .NET Framework or .NET Core?
.NET Core is to be used for the server application when –
1. There is cross-platform need.
2. Targeting microservices or using Docker containers.
3. Need of high performance and scalable systems.
4. Side by side need of .NET versions per application.
.NET Framework is to be used for the server application when –
1. Application is to be built to run only on Windows.
2. If application uses .NET framework technologies not available for .NET Core.
3. Applications that are already running on .NET Framework.
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.