Asp.net Core is a new version of Asp.net released by Microsoft. It is an open-source used to develop a web framework and can be executed with different browsers like Windows, Mac or Linux. ASP.Net Core is a new version of asp.net. It is a free open source which can run on different OS like Mac, Windows and Linux.
As far as the modern Web Development are is concerned, without any doubt . NET Core should be your choice over . NET Framework. The main question is which part of the framework you should start learning depends on the sort of web app you're planning to build.
When a programmer working on these will definitely know that they are not the same. . NET is a software framework or infrastructure which Microsoft developed. ASP.NET, on the other hand, is a web application that is used to build various applications. This is the basic difference between ASP.NET vs .
NET platform. ASP.NET Core is the open-source version of ASP.NET, that runs on macOS, Linux, and Windows. ASP.NET Core was first released in 2016 and is a re-design of earlier Windows-only versions of ASP.NET.
Update 2020: Do note that ASP.NET Core 3 and higher now depend on .NET Core and can no longer be used on .NET Framework. The below description is for ASP.NET Core 1.x-2.x; the layer separation still holds true for ASP.NET Core 3.0 but the ASP.NET Core layer can no longer be used on top of .NET Framework in 3.0+.
.NET Core is a runtime. It can execute applications that are built for it.
ASP.NET Core is a collection of libraries that form a Framework for building web applications. ASP.NET Core libraries can be used on both .NET Core and the "Full .NET Framework" (which has shipped with windows for many years).
The confusing part is that an application using the libraries and tools of ASP.NET Core is usually referred to as "ASP.NET Core Application", which in theory doesn't say if it is built for .NET Core or .NET Framework. So an "ASP.NET Core Application" is also a ".NET Core Application" or a ".NET Framework Application".
This image shows the relation of the involved technologies (taken from this blog post)
Here you can see that ASP.NET Core is built "on top of" both .NET Framework and .NET Core, while "ASP.NET" (now often referred to as "classic ASP.NET") is .NET Framework only.
ASP.NET Core using .NET Core - all dependencies are self-contained, can use most NuGet packages, can't use Windows-specific packages, can execute on Windows, Linux, and Mac.
ASP.NET Core using .NET Framework - most dependencies are self-contained, only executes on Windows, will have access to Windows-specific NuGet packages, needs the .NET framework version which is targeted installed on the machine.
ASP.NET Core is one of the workloads supported by .NET Core.
From .NET Core guide:
By itself, .NET Core includes a single application model -- console apps -- which is useful for tools, local services and text-based games. Additional application models have been built on top of .NET Core to extend its functionality, such as:
- ASP.NET Core
- Windows 10 Universal Windows Platform (UWP)
- Xamarin.Forms
The .NET Framework is on its last release. There will not be another one after 4.8. Microsoft will continue with .NET Core. From this time you should prefer .NET Core on your projects.
I would like to add that there is something called middleware injection in .NET Core request pipeline. If implemented correctly this is very useful, as it can intercept application exceptions automatically and makes logging much easier (in one place instead of logging in every method).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With