Choose between ASP.NET 4.x and ASP.NET Core
ASP.NET Core is a redesign of ASP.NET 4.x. This article lists the differences between them.
ASP.NET Core is an open-source, cross-platform framework for building modern, cloud-based web apps on Windows, macOS, or Linux.
ASP.NET Core provides the following benefits:
- A unified story for building web UI and web APIs.
- Architected for testability.
- Razor Pages makes coding page-focused scenarios easier and more productive.
- Ability to develop and run on Windows, macOS, and Linux.
- Open-source and community-focused.
- Integration of modern, client-side frameworks and development workflows.
- A cloud-ready, environment-based configuration system.
- Built-in dependency injection.
- A lightweight, high-performance, and modular HTTP request pipeline.
- Ability to host on IIS, Nginx, Apache, Docker, or self-host in your own process.
- Side-by-side app versioning when targeting .NET Core.
- Tooling that simplifies modern web development.
ASP.NET 4.x is a mature framework that provides the services needed to build enterprise-grade, server-based web apps on Windows.
The following table compares ASP.NET Core to ASP.NET 4.x.
|ASP.NET Core||ASP.NET 4.x|
|Build for Windows, macOS, or Linux||Build for Windows|
|Razor Pages is the recommended approach to create a Web UI as of ASP.NET Core 2.x. See also MVC, Web API, and SignalR.||Use Web Forms, SignalR, MVC, Web API, WebHooks, or Web Pages|
|Multiple versions per machine||One version per machine|
|Develop with Visual Studio, Visual Studio for Mac, or Visual Studio Code using C# or F#||Develop with Visual Studio using C#, VB, or F#|
|Higher performance than ASP.NET 4.x||Good performance|
|Choose .NET Framework or .NET Core runtime||Use .NET Framework runtime|
See ASP.NET Core targeting .NET Framework for information on ASP.NET Core 2.x support on .NET Framework.
ASP.NET Core scenarios
ASP.NET 4.x scenarios