Making sense of the different versions of .NET Core (runtime and SDK)

April 17, 2017 · 3 minute read

Note: Updated Jan 2021 to reflect latest releases of .NET Core 5.x.x

The .NET Core journey has been confusing at times.

We’ve had alphas, betas and release candidates. In the early days (versions 1 and 2) both the Runtime and Tools (SDK) kept changing at a rapid pace.

But we’ve finally reached a point where .NET Core is now just .NET and (more importantly) it’s settled down to become a productive, fast framework. So what do you need to get started?

Runtime != SDK

The first thing to know is that the Runtime and SDK are separate things.

The runtime is (as it sounds) the bit you’ll need to run a .NET program on your machine. Windows ships with a version of .NET which is generally kept up to date via OS updates.

The SDK is the bit you need if you want to develop applications using .NET.

There are several production-ready versions of the runtime and SDK.

.NET 5.0.x

Microsoft consolidated a lot of different technologies into .NET 5.

As a result, this is very much where to start if new to .NET.

You can download the latest SDK from the official Microsoft site. Note you don’t need to download the runtime separately, you can just grab this SDK and it will install everything.

The .NET 5 release includes (amongst other things)…

  • Blazor WASM
  • Blazor Server
  • C# 9
  • F# 5
  • C# Source Generators
  • Windows Forms
  • WPF
  • System.Text.JSON

This is the first step on a slightly longer road to unifying everything under one moniker (.NET) and .NET 6 looks set to continue along the same lines.

NET Core 3.x

Blazor arrived during the .NET Core 3 timeline and (as it now turns out) this was the last major version of .NET Core to actually have “Core” in its name at all…

.NET Core 2.1.x

This is where .NET Core really started to make sense for production use and a lot of the bugs had been ironed out.

.NET Core 1.0.x

The first production (RTM) release of .NET Core. Considered stable enough for production use.

.NET Core 1.1.6

Brought some improvements on 1.0.x Here were some of the highlights

  • Improved performance
  • Improved version of the Kestrel web server
  • Azure support
  • Azure and SQL 2016 support for EF Core

Choose your runtime

If you’re interested in knowing which version(s) of .NET are officially supported by Microsoft, check out the Microsoft support policy which gives you that information.

In Summary

At this point .NET has emerged as a productive, fast ecosystem for developing your applications.

If you’re starting from scratch, your best bet is to use the latest version of the SDK.

For development, we’ve reached a point where you can pretty much use whichever code editor or IDE is your favourite. For me this means leaning towards Jetbrains Rider, but you can use Rider, Visual Studio, or indeed VS Code… So really, there should be no stopping you!

photo credit: langustefonts signpost in Fife, Scotland via photopin (license)

Join the Practical ASP.NET Newsletter

Ship better Blazor apps, faster. One practical tip every Tuesday.

I respect your email privacy. Unsubscribe with one click.