Since the announcement of
ASP.NET 5.0 ASP.NET Core 1.0 now, it has created confusion with the name and different flavors of new version of .NET. Some of my colleagues were also confused with naming and different flavor of it. So in this short post, let’s understand difference between .NET Core and .NET Framework.
Difference between .NET Core and .NET Framework
First, let’s stop calling it ASP.NET 5. Now it is renamed to ASP.NET Core 1.0. So, .NET as whole now has 2 flavors.
- .NET Framework
- .NET Core
.NET Core and the .NET Framework have (for the most part) a subset-superset relationship. .NET Core is named “Core” since it contains the core features from the .NET Framework, for both the runtime and framework libraries. For example, .NET Core and the .NET Framework share the GC, the JIT and types such as
.NET Core was created so that .NET could be open source, cross platform and be used in more resource-constrained environments.
Where these 2 fits with ASP.NET
Like .NET, ASP.NET now also has 2 flavors.
- ASP.NET 4.6
- ASP.NET Core 1.0
ASP.NET 4.6 is upgraded version of ASP.NET which we all are using from last 13 years. It started with 1.0 back in 2012 and now it has reached at 4.6. Applications built using ASP.NET 4.6 or prior version of ASP.NET run only on windows platform.
ASP.NET Core 1.0 is completely a new platform to build cross platform applications and it was written from scrath. Read Quick summary of what’s changed in ASP.NET Core 1.0
So now you can build web application using ASP.NET Core 1.0 and you can target .NET Framework 4.6 and/or .NET Core. The .NET Framework 4.6 runs on top of Windows operating system, where .NET Core 1.0 is a cross platform framework and runs on top of Windows and Non-windows operating systems. Please note that .NET Core 1.0 doesn’t have all the features and functionality of .NET Framework 4.6 (at the time of writing).
That should clear the confusion. Thanks for reading and keep visiting for updates and share this in your network.