48

I have been looking for books to study the latest .NET Framework. As far as I know .NET is up to 4.6 but ASP.NET is up to 5(Core)

Is .NET Core the name for .NET 5 or are we still currently at .NET 4.6?

David Pine
  • 23,787
  • 10
  • 79
  • 107
AnonDCX
  • 2,501
  • 2
  • 17
  • 25
  • 4
    The first "core" version was released in December 2002, back then named .NET Compact and meant for portable devices. The name fell out of use after getting fatally struck by an apple, it lived on in Silverlight, XBox, Windows Store and Windows Phone. It is not the same as the .NETFramework, it was always meant to be small and easy to download with lots of stuff missing from both the CLR and the framework. Version 5 was open-sourced, it got renamed back to 1.0 later. It is not small anymore today. – Hans Passant May 06 '19 at 23:42
  • Not ASP.NET but the answer is progressing to true if you return to your first title :) – gurkan Aug 17 '20 at 13:35

5 Answers5

46

To quote Scott Hansleman:

Naming is hard.

It's very easy to armchair quarterback and say that "they should have named it Foo and it would be easy" but very often there's many players involved in naming things. ASP.NET is a good 'brand' that's been around for 15 years or so. ASP.NET 4.6 is a supported and released product that you can get and use now from http://get.asp.net.

However, naming the new, completely written from scratch ASP.NET framework "ASP.NET 5" was a bad idea for a one major reason: 5 > 4.6 makes it seem like ASP.NET 5 is bigger, better, and replaces ASP.NET 4.6. Not so.

So we're changing the name and picking a better version number.

REINTRODUCING ASP.NET CORE 1.0 AND .NET CORE 1.0

  • ASP.NET 5 is now ASP.NET Core 1.0.
  • .NET Core 5 is now .NET Core 1.0.
  • Entity Framework 7 is now Entity Framework Core 1.0 or EF Core 1.0 colloquially.

Why 1.0? Because these are new. The whole .NET Core concept is new. The .NET Core 1.0 CLI is very new. Not only that, but .NET Core isn't as complete as the full .NET Framework 4.6. We're still exploring server-side graphics libraries. We're still exploring gaps between ASP.NET 4.6 and ASP.NET Core 1.0.

Update

On 7th of May 2019, Microsoft announced .NET 5

Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family.

There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more.

.NET 5 = .NET Core vNext

.NET 5 is the next step forward with .NET Core. The project aims to improve .NET in a few key ways:

  • Produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer
    experiences.
  • Expand the capabilities of .NET by taking the best of .NET Core, .NET Framework, Xamarin and Mono.
  • Build that product out of a single code-base that developers (Microsoft and the community) can work on and expand together and that improves all scenarios.
Andrew Savinykh
  • 25,351
  • 17
  • 103
  • 158
  • 29
    So we went from from .NET `1` in 2001, to version `1.1`, then `2.0`, `3.0`, `3.5`, `4.5`, `4.6`, `4.7`, `4.8`, `1.0`, `2.0`, `3.0`, to eventually *finally* getting to `5.0` in 2020! – Dai May 10 '19 at 19:07
  • 12
    Long story short: Names and versions are just PR tools for Microsoft. Do not try to find any technical logic behind it. – Al Kepp May 14 '19 at 14:16
  • Gives the answer to this confusion. https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-5 – San Mar 27 '22 at 23:34
33

For anyone ending up here after the fact, as of 6th May 2019, there is a new answer to what is all about. In summary, .NET Core and .NET Framework are coming together as .NET 5 and there will be "just one .NET going forward".

We are also taking the opportunity to simplify naming. We thought that if there is only one .NET going forward, we don’t need a clarifying term like “Core”. The shorter name is a simplification and also communicates that .NET 5 has uniform capabilities and behaviors.

The original announcement and the new .NET schedule can be found on the .NET Blog, and it was also discussed at Build 2019 in a Scott Hanselman session (timestamp: 52:30) entitled ".NET Platform Overview and Roadmap".

John
  • 538
  • 4
  • 9
  • this presents a problem for a newbie like me.... am i safe to start a project from scratch in .net Core 3 or is it best to wait for .net 5? – volume one Sep 26 '19 at 11:05
  • 5
    @volumeone It seems very unlikely to me that any changes from Core 3 to .NET 5 will be so great that it would be better to have not started at all. – John Sep 26 '19 at 17:00
  • 1
    How would you know if you're starting a project that uses the entire framework or just the core if they're together? The config file for example - how would you know if your project should use an appsettings.json or a web/app.config? – Rich Nov 12 '20 at 14:34
10

Actually since the 6th of May 2019 we can answer yes to this question, .NET Core will be renamed .NET 5 to be released in November 2020 and the traditional .NET Fx v4.x won't receive anymore love from MS.

All details in this 6th of May 2019 Microsoft blog post announcement: Introducing .NET 5

Patrick from NDepend team
  • 13,237
  • 6
  • 61
  • 92
  • 1
    Does this mean that if I start a website in .Net Core 3 today that will work fine without any changes once .Net 5 comes out? – volume one Sep 24 '19 at 11:06
  • I am not the right person to answer this since I am not working at Microsoft, but my guess is yes, your .NET Core 3 website will work fine with .NET 5 – Patrick from NDepend team Sep 25 '19 at 12:18
4

From What's new in .NET 5:

.NET 5.0 is the next major release of .NET Core following 3.1. We named this new release .NET 5.0 instead of .NET Core 4.0 for two reasons:

  • We skipped version numbers 4.x to avoid confusion with .NET Framework 4.x.
  • We dropped "Core" from the name to emphasize that this is the main implementation of .NET going forward. .NET 5.0 supports more types of apps and more platforms than .NET Core or .NET Framework. ASP.NET Core 5.0 is based on .NET 5.0 but retains the name "Core" to avoid confusing it with ASP.NET MVC 5. Likewise, Entity Framework Core 5.0 retains the name "Core" to avoid confusing it with Entity Framework 5 and 6.
Lance U. Matthews
  • 15,725
  • 6
  • 48
  • 68
Ali Bayat
  • 3,561
  • 2
  • 42
  • 43
  • You need to make it way more obvious the text of this answer is not your own (although the repeated "We"s was a dead giveaway). A single `^` link at the end of the answer is hard to notice and not sufficient. See [How to reference material written by others](https://stackoverflow.com/help/referencing). – Lance U. Matthews Dec 09 '21 at 02:38
2

Recently Microsoft finished a few new articles at the new documentation site to cover related discussions, like this,

https://learn.microsoft.com/en-us/dotnet/articles/standard/choosing-core-framework-server

So you should treat .NET Core as a new platform, different from .NET Framework but with some similarity. To choose from them, you should check whether the benefits of .NET Core help your projects.

Lex Li
  • 60,503
  • 9
  • 116
  • 147