Difference between .NET Core and .NET Framework

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

Difference

.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 String and List.

.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.

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.

PS: If you found this content valuable and want to return the favour, then