Clearing Up The Naming Confusion in .NET

Several years ago, the naming was simple. Microsoft made the .NET Framework. It followed a semantic versioning system with major releases, minor releases, and patch/bug fixes.

And then Core came alone.

.NET Core was an overhaul of the .NET architecture. Framework only ran on Windows.

But Core ran on Mac and Linux as well.

So, the versioning restarted at version 1, and they got up to version 3.

But there is no .NET Core 4. Instead, Microsoft is continuing to be a framework that runs everywhere, and so, they renamed the next version just .NET 5.

The difference between Core and the newest .NET (no framework added to the end) is that there aren't multiple runtimes.

With Core, there was Xamarin for mobile and Mono for Linux/Mac were separate systems. Different runtimes executed the same code depending on the operating system.

With .NET 5 and forward, that is no longer the case.

And to keep the chronology straight, here's how the versions line up timewise.

  • .NET Framework, versions 1 through 4.8
  • .NET Core, versions 1 through 3.1
  • .NET 5 and onward