ASP.NET Core is a free, open-source and cloud optimized web framework. The framework is a complete rewrite from scratch in order to make it open source, modular and cross-platform.
Runs on Multiple Operating System
ASP.NET Core applications will run on Windows, Linux, and Mac. So, you don’t need to work on different application for different OS. Same application can be run-on above-mentioned OS. Refer about Core supported stuffs in this link.
ASP.NET Core web application can be hosted on multiple OS with any web server such as IIS, Apache etc. It is not dependent only on IIS as a standard .NET Framework.
ASP.NET Core no longer depends on System.Web.dll for browser-server communication. ASP.NET Core allows us to include packages which we need for our application. This reduces the request pipeline and improves the performance and scalability.
It includes built-in IoC container for automatic dependency injection which makes it maintainable and testable.
Integration with Modern UI Frameworks
It allows you to use and manage modern UI frameworks such as Blazor, Angular, React, Umber, Bootstrap etc. using Bower (a package manager for the web).
It allows you to build a class library which can be used with other .NET frameworks such as .NET Framework 4.x or Mono. Thus, a single code based can be shared across frameworks.
Side-by-Side App Versioning
ASP.NET Core runs on .NET Core which supports simultaneous running of multiple versions of applications.
Smaller Deployment Footprint
ASP.NET Core application runs on .NET Core which is smaller than full .NET Framework. So, the application which uses only a part of .NET CoreFX will have smaller deployment size. This reduces the deployment foot print.