The difference between .NET, ASP.NET and ASP.NET Core

The difference between .NET, ASP.NET and ASP.NET Core

There can be a lot of misunderstanding when talking about .NET, ASP.NET and ASP.NET Core. All three names contain .NET and that can be quite confusing if you never really thought about them but just used them. It took me a while to even realize that there was a difference, I just said .NET or ASP.NET and thought that they were the same thing, however that is not the case. In this article I will try to give you a better understanding of what the three word means and how they actually build on top of each other.

31-10-2022 |

ASP.NET Core
.NET

Almost all .NET developers have been there. Our first Console App and the magic from our first C# code using libraries from the .NET platform. Then moving on to the more fancy stuff of actually creating a website in our first ASP.NET Core Web App, where we use tools like Razor Pages and the possibility to use MVC (Model-View-Controller) as our architectural pattern. However if you was developing websites with .NET in lets say 2005, you would not have used ASP.NET Core, but ASP.NET Web Pages, ASP.NET MVC or ASP.NET Web Forms. The main difference between ASP.NET Core and ASP.NET is to be found in the .NET history.

So what is .NET, ASP.NET and ASP.NET Core?

.NET

.NET is a bunch of tools and libraries to create different types of applications, like websites, mobile apps, microservices, desktop applications, games and apps for the IoT (Internet of things). You can use C#, F# and VB (Visual Basic) as programming languages when developing on the .NET platform. A simple application like the Console App is when created in Visual Studio 2022 either running on .NET Core or .NET Framework, where .NET Core is the newest platform which ASP.NET Core is also running on. However the Console App does not contain ASP.NET Core because ASP.NET Core is focused on web development.

.NET Framework is actually only able to run on Windows and is right now only getting updates for its 4th version, where .NET Core is a cross-platform



ASP.NET and ASP.NET Core

ASP.NET and ASP.NET Core are two different frameworks. Both is built on top of .NET, as an easier way to build web apps like websites and API’s, and can use all the libraries and tools that .NET have to offer. However it is not the same .NET platforms that ASP.NET and ASP.NET Core is running on. ASP.NET is running on the older .NET Framework, where ASP.NET Core is running on .NET Core.

You could see this as a major change that Microsoft first created ASP.NET running on the .NET Framework where they learned a lot, but as you know when creating projects you might want to have done it another and smarter way after some time and that is what Microsoft did. ASP.NET was released in 2002 same year as .NET Framework. ASP.NET Core was released in 2016 just like .NET Core, so the versions of .NET and the versions of ASP.NET (Core) goes hand in hand.

Misconceptions

There could be some misconceptions because of the name “Core”. Core could refer to like a kernel, so the names could refer to that ASP.NET Core be the kernel and even more confusing with the .NET Core where .NET Core could be the kernel of .NET and then the .NET Framework would be built on top of that. However that is not the case. Please look at the illustration that roughly simplify the meaning of how ASP.NET, ASP.NET Core, .NET Framework and .NET Core should be running together.

Exceptions

Of course the world cannot be that simple as the illustration is showing. There is some versions of ASP.NET Core that can run with .NET Framework, however the newer versions can only run on .NET Core now.

Common understanding

When speaking of ASP.NET and .NET there is a common understanding of what you mean. Of course if you need more details and need to be more specific, like being two programmers talking about a project together and how to make it, you might want to point out if you are talking about .NET Framework or .NET Core to know exactly what you talk about. But saying that you have made a website in ASP.NET to a technical person should be enough to roughly know what you are talking about.


Follow these links to get a better understanding of .NET and ASP.NET.


Like what you see?


New C# Learning Area - Free!

Our website now offers a new section on C# theory, including code examples and related video tutorials.

ZetBit

Subscribe to ZetBits Newsletter