About this post

This post explains to you what .NET Core is, what it is used for and tells you whether you need to use it or not.

1. What is .NET Core?

.NET Core is a new platform from Microsoft made up of a new runtime and a set of libraries. The main reason for it existing is to make .NET run cross-platform which means it will run on Windows, Linux and macOS.

2. What language do you write .NET Core applications in?

.NET Core applications are written in C#, F# and VB. This means you can write C# code on Linux and Mac now, this is why applications like Visual Studio Code and Visual Studio for Mac have been made.

3. What type of applications would you use .NET Core for?

You can write Console applications, Web APIs, and ASP.NET websites right now with .NET Core. It's not fully written yet, so the tooling is limited at the moment.

4. Do I need to learn .NET Core?

You only need to learn .NET Core if you want to write .NET applications which need to run cross-platform. If you are just building applications which are going to be hosted on Azure or on a Windows server somewhere you can continue to write them in the full .NET Framework.

5. Will it replace the full .NET Framework?

No it's not going to replace the full .NET framework. The full framework continues to exist and be improved alongside .NET Core.

6. Is it compatible with the full .NET Framework?

Yes, .NET Core is compatible with certain versions of the full framework as well as Xamarin's Mono framework. It can be confusing to understand which version of one is compatible with the other versions. To help with this they have created the .NET Standard.

7. What is .NET Standard?

.NET Standard was created to help you know what version of the .NET framework you need to target if you want your code to be compatible with other different types of .NET framework. Currently there are 3 types. Full .NET Framework, Mono (used for Xamarin) and .NET Core. It is hard to know which version of which framework is compatible with others.

.NET Standard isn't anything physical and it's not even code itself, its just a set of features which a version of a .NET Framework needs to have to be compatible with others targeting it. This means even if you are try to talk to code from a different version of the .NET Framework it will have the necessary features to be compatible if it targets the same version of .NET Standard.

To help you understand this, try to think of it like this:

TVs, Videos, Satellite and freeview player/recorders all communicate with each other via cables. Over the years there have been many different cables to the TV, such as RF, Scart, Component and HDMI. 

Think of each of these different cables as a version of the .NET Standard, so the latest version of .NET standard is represented by HDMI.

Think of the devices that connect together as different versions of the different .NET frameworks.

It is possible to get the different devices (frameworks) to talk to each other because they've been made to work with the necessary cable (Standard) HDMI, or Scart etc.

How can I learn more about .NET Core?

Follow along with this video course to show you How to build your first ASP.NET Core Web Application

If you're not into following video course and you want to read more about .NET Core then have a read of Jamie Taylor's blog A Journey In .NET Core

Want to thank me?

If I've helped you out and you want to thank me, why not buy me a coffee?

Buy me a coffee

About the author

Paul Seal

Umbraco MVP and .NET Web Developer from Derby (UK) who specialises in building Content Management System (CMS) websites using MVC with Umbraco as a framework. Paul is passionate about web development and programming as a whole. Apart from when he's with his wife and son, if he's not writing code, he's thinking about it or listening to a podcast about it.

Related Posts

How to render the actual document type icons in the tree in Umbraco

This post gives you the code to be able to see the icons for your document types in the tree view ra…

Read Post

How to solve the error assets file project.assets.json not found in Visual Studio

This post tells you how to solve the error assets file project.assets.json not found in Visual Studi…

Read Post

Code to help you debug an umbraco issue on a remote site

This post gives you some razor code to help you see the values of the IPublishedContent item's prope…

Read Post

How to set the default page base type to UmbracoViewPage in Umbraco

In this post I share with you what Ronald Barendse taught us about setting the pageBaseType in Umbra…

Read Post