What is .Net core?

.NET Core is a general-purpose development platform maintained by Microsoft and the .NET community on GitHub. It is free and open source cross-platform, supporting Windows, macOS, and Linux. Many people are confused between ASP.NET Core and .NET Core. Please note that ASP.NET Core and .NET Core are not the same. They are different, just like ASP.NET and .NET Framework are different.

.NET Core is a fast, lightweight, modular and open source framework for creating web applications and services that run on Windows, Linux, and Mac. So, it is a platform on which ASP.NET Core application runs.

.NET Core is named “Core” because it includes core features of the .NET framework. The main objective of .NET Core is to make .NET framework open source, and cross-platform compatible so that it can be used in resource-constrained environments. It includes minimum features that are required to run a basic .NET Core app and other advanced features that can be included as a package from NuGet.

The following figure illustrates the components of .NET Core.

As you can see above, .NET Core includes .NET Compiler platform Roslyn, .NET Core runtime CoreCLR, .NET Core framework CoreFX and ASP.NET Core .

  • Roslyn is a compiler platform and includes the C# and VB compilers and other tools. These compilers emit Common Intermediate Language (CIL) code.
  • CoreCLR: A complete runtime implementation of CLR where CIL code is compiled into machine code using a JIT compiler while the app is running. It’s the virtual machine that manages the execution of .NET programs.CoreCLR started as a copy of CLR. It has been modified to support different OSes. They’re maintained separately and in parallel.
  • CoreFX:
    • A set of framework libraries, which provide primitive data types, app composition types, and fundamental utilities.
    • While .NET Core shares a subset of .NET Framework APIs, it comes with its own API that is not part of .NET Framework. .NET Core includes CoreFX, which is a partial fork of FCL.
    • There is a mix of platform-specific and platform-neutral libraries in .NET Core.

History

  • .NET Core 1.0 was released on 27 June 2016, along with Visual Studio 2015 Update 3
  • .NET Core 1.0.4 and .NET Core 1.1.1 were released along with .NET Core Tools 1.0 and Visual Studio 2017 on 7 March 2017.
  •  .NET Core 2.0 was released on 14 August 2017 along with Visual Studio 2017 15.3, ASP.NET Core 2.0, and Entity Framework Core 2.0.
  • .NET Core 2.1 was released on 30th May 2018 along with Visual Studio 2017 15.7 and will be a long-term support (LTS) release. This means that it is supported for three years. Microsoft recommends that you make .NET Core 2.1 as your new standard for .NET Core development.
.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.

 

Hope this helps !!!

Leave a comment

Create a free website or blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started