What exactly is the difference between .NET Core and ASP.NET Core?
Are they mutually exclusive? I heard asp.net core is built on .net core but can also be built on the full .net framework.
So what exactly is ASP.NET Core?
What exactly is the difference between .NET Core and ASP.NET Core?
Are they mutually exclusive? I heard asp.net core is built on .net core but can also be built on the full .net framework.
So what exactly is ASP.NET Core?
.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" (what 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, cant use windows specific packages, can execute on windows, linux, 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 https://docs.microsoft.com/en-us/dotnet/articles/core/#workloads
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