It was recently announced by Scott Hanselman that “ASP.NET 5 is dead – Introducing ASP.NET Core 1.0 and .NET Core 1.0” which may come as a surprise to many. Most that have been following along know that ASP.NET 5 brought with it a lot of changes. While in many cases it was a next step from previous versions, it also meant a fork in the road introducing some significant changes.
I’m personally in the camp that his happy to see this name change. I’m not sure that it’s the perfect name, but it addresses the concerns about simply incrementing the version number and not addressing that this is something very different. I however have no better ideas so I’m throwing my support (whatever that’s worth) behind this decision. I feel this is significant because as ASP.Net has grown over the years, developers has enjoyed an amazing level of backwards compatibility with limited breakign changes. This has often limited the ability to do things differently. Now you may be throwing your hands up, not wanting to do things differently in which case ASP.Net Core may not be for you.
Let’s pause for a moment a look at what I just said, “ASP.Net Core may not be for you.” In other words, you may not want to choose this fork in the road. What if however without the name change I was forced to say “ASP.Net 5 may not be for you”? That wording makes it seem like the end of the road. ASP.Net 4.6 is not going away, and while there are not currently any public details on what new developments there might be, it is in no way suddenly going to stop working or stop being supported. ASP.Net Core is a new direction that enables those that want to go that direction, it’s not simply a new version of ASP.Net.
According to the information Scott published:
- 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 (EF Core 1.0)
There are some extremely important details that I think are worth calling out regarding these.
- ASP.NET 4.6 requires .NET Framework 4.6 and runs only only on the windows platform.
- ASP.NET Core 1.0 runs on both .NET Framework 4.6 (Windows) and .NET Core 1.0 which runs on Linux, Mac, and Windows.
- .NET Core 1.0 is a subset of the full .NET Framework 4.6 that many are used to working with. This goes back to the new direction mentioned above, resulting in portions of the framework note being included. There are many things that are not needed for reasons such as beign windows specific, redundant, or not needed. Over time this gap may shrink, but for now it has some significat impacts.
There’s no doubt that the “Core” technology are new and bleeding edge compared to their battle tested predecessors, but this creates an opportunity to create a powerful new platform that is more in tune with today’s modern development, deployment, and hosting techniques.