.NET Core vs .NET Framework-: Although .NET Core and the full .NET framework share many common components, there are fundamental differences between the two, and choosing between them depends on the scenario at hand.
When there is a need for the application to run cross-platform or have an architecture based on micro services, to promote high availability or to run side-by-side with different versions of .NET, then using .NET Core will be the right choice.
Use the .NET framework if the application is currently using the full .NET framework and the recommendation suggested extending instead of migrating, or if there are third-party libraries, technologies, or platforms that do not support .NET Core.
The .NET framework is not obsolete and will still be around and supported for a long time. The .NET Core framework is also not intended to be a replacement for the full .NET framework but rather is built to co-exist with it.
Why We Use ASP.NET Core -:
ASP.NET Core includes a unified use case for building web-based user interfaces and web APIs . Furthermore, it integrates with other modern client-side frameworks, development workflows, and tools.
The framework contains a cloud-ready, environment-based configuration system out of the box that supports application settings provided in many different formats, all in one simple model. One of the unique features of ASP.NET Core is the notion of making dependency injection a first-class citizen within the framework.
Unlike the http handlers and http Modules featured in the ASP.NET framework, the new HTTP request pipeline has been designed for more straightforward use, making it much more modular and lightweight.
Inherently, ASP.NET Core can be hosted everywhere (because it is built on top of .NET Core), be it internet information services (IIS) , self-hosted in its own process, or even hosted inside Docker .
Regarding deployments, all components of ASP.NET Core comprise of multiple Nu Get packages , allowing granular features to be autonomously installed.
THE .NET ECOSYSTEM
Now that we have a better understanding of .NET Core and ASP.NET Core, it is beneficial to understand how these components fit into the overall .NET ecosystem.