Overview On .NET Core

.NET Core is a new cross-platform and open source version of .NET for building websites, services, and console apps. It is modular and cloud optimized framework to build server applications which can run on Windows, Linux, or Mac. It supports C#, VB, and F# and constructs like generics, LINQ, asynchronous support and more. .NET Community maintains this general-purpose development platform on GitHub where contributions are accepted, tested and fully supported.

Here are the major characteristics of .NET Core:

  • Flexible deployment: Two types of deployment can be done for .NET Core Applications
    • Framework Dependent Deployment: Applications will expect .NET core Runtime on the deployment machines. Only the application which contains the code and third-party dependencies are installed.
    • Self Contained Deployment: Applications will not expect .NET Core Runtime on the deployment machines as .NET Core Runtime gets included when it is published.
  • Cross-platform: Application code and libraries can be written to run unmodified across supported operating systems. Application code is reused regardless of target platform. Currently .NET Core applications can run on Windows, Linux and macOS operating systems, the list will grow over time, provided by Microsoft, other companies, and individuals.
  • Open source: .NET Core is a .NET Foundation project available on GitHub which is an open source and general-purpose development platform, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY.
  • Command-line Tools: All product scenarios can be exercised at the command-line.
  • Modular: .NET Core is a modular framework which is distributed as NuGet packages. With NuGet packages it allows to optimize the application to include only the necessary dependencies.
  • Compatible: .NET Core applications are compatible with certain versions of the full framework as well as Xamarin’s Mono framework. .NET Standard helps to know which version of one is compatible with the other versions.


Release History

Version Release Date
.NET Core 1.0 2016-06-27
.NET Core 1.1 2016-11-18
.NET Core 2.0 2017-08-14
.NET Core 2.1 2018-05-30

Getting Started with .NET Core

Supported Windows Versions for .NET Core 1.x

  • Windows 7 SP1+, 8.1
  • Windows 10 (version 1607) or later version
  • Windows Server 2008 R2 SP1


Supported Windows Versions for .NET Core 2.0

  • Windows 7 SP1+, 8.1
  • Windows 10 (version 1607) or later version
  • Windows Server 2008 R2 SP1+


Supported Windows Versions for .NET Core 2.1

  • Windows 7 SP1+, 8.1
  • Windows 10 (version 1607) or later version
  • Windows Server 2008 R2 SP1+


To run .NET Core application on Windows versions prior Windows 10 and Windows Server 2016, then it’ll need Visual C++ Redistributable. If .Net Core Installer is used then it gets automatically installed else it must be installed manually.

To develop .NET Core applications using the .NET Core SDK any editor can be used of your choice. To develop .NET Core applications on Windows using Visual Studio, the following two versions can be used:

  • Visual Studio 2015

To develop .NET Core 1.x apps in Visual Studio 2015 download and install Microsoft Visual Studio 2015 Update 3, Microsoft .NET Core 1.0.1 – VS 2015 Tooling Preview 2

Visual Studio 2015 will support .NET Core 1.x i.e. project.json. To use .NET Core 2.x Visual Studio 2015 cannot be used as projects are .csproj based. It is recommended to use Visual Studio 2017 as it provides stable RTM tooling whereas the tooling in Visual Studio 2015 is only in preview.

  • Visual Studio 2017

.NET Core 1.x: Download and install Visual Studio 2017 RTM (version 15.0.26228.4) or higher with “.NET Core cross-platform development” workload (in the Other Toolsets section) selected.

.NET Core 2.x: Download and install Visual Studio 2017 version 15.3.0 or higher with “.NET Core cross-platform development” workload (in the Other Toolsets section) selected.

After the toolset is installed Visual Studio 2017 uses .NET Core 1.x by default. Install .NET Core 2.x SDK to get .NET Core 2.x support in Visual Studio 2017.


.NET Core Composition


.NET Core or .NET Framework

Features .NET Core or .NET Framework
Cross Platform .NET Core is preferable to build cross platform applications, and migrate existing applications from one platform to another whereas .Net framework enables to build applications for a single platform.
Microservices Unlike .NET Framework, .NET Core enables to build microservices by using a mix of technologies, programming language and frameworks.
Performance and Scalability For best performance and scalability .NET Core is best option. With the use of Microservices less number of servers and virtual machine are needed which enhances the performance of applications.
Compatibility Compatibility issues may persist in .NET Core if class library uses .NET Framework API that are not supported
WPF Applications and Windows Forms In .NET Framework we have many products like MVC, WinForms, WPF but for now in .Net Core one can create only MVC Core WebApplications.
Command Line Interface Control (CLI) .NET Core has CLI for supported platforms which needs minimal installation on production machines with an option to switch to an IDE when required






About The Author

Leave a Reply