liveBook · Manning

.NET

As explained in ASP.NET Core in Action, 3e

.NET 5+ is the unified generation of the .NET platform comprising .NET 5, .NET 6, and later releases.

.NET is the platform beneath ASP.NET Core. It supplies fundamental libraries for tasks such as working with lists, dictionaries, and files. An ASP.NET Core application uses that foundation to run as an application with a web server that handles HTTP requests. section 2.2 section 1.6

The names mark different generations. .NET Core was the cross-platform successor to the Windows-only .NET Framework. After .NET Core 3.1 came .NET 5, then .NET 6 and .NET 7. “.NET 5+” refers to that unified generation; the “Core” name was dropped from the platform, but ASP.NET Core kept it. .NET shares many APIs with .NET Framework, yet it is a separate, more modular platform—not simply a fork. section 2.2

Figure 2.2 The relationships among ASP.NET Core, ASP.NET, .NET Core/.NET 5+, and .NET Framework. ASP.NET Core runs on .NET Core and .NET 5+, so it can run cross-platform. Conversely, ASP.NET runs on .NET Framework only, so it’s tied to the Windows OS.
CH02_F02_Lock3

Use the platform diagram to distinguish ASP.NET Core running on cross-platform .NET from legacy ASP.NET running on Windows-only .NET Framework. section 2.2

Cross-platform does not mean every API works everywhere. ASP.NET Core applications can be developed and run on Windows, Linux, or macOS. If an application uses Windows-specific features such as the Registry or Directory Services through the Windows Compatibility Pack, those APIs remain available only when it runs on Windows. section 1.3 section 2.4.2

Figure 2.3 ASP.NET Core application model. The .NET 7 platform provides a base console application model for running command-line apps. Adding a web server library converts this model to an ASP.NET Core web app. You can add other features, such as configuration and logging, using various libraries.
CH02_F03_Lock3

The application-model diagram shows how adding a web-server library turns a base .NET console application into a web application; other libraries can add configuration and logging. section 2.2

Start a .NET 7 web application

In Visual Studio, choose the C# ASP.NET Core Empty template, select .NET 7.0, and leave HTTPS enabled. Alternatively, use the .NET CLI: `dotnet new sln -n WebApplication1`, `dotnet new web -o WebApplication1`, then `dotnet sln add WebApplication1`. This creates a solution containing a minimal web project. For a starter website with Razor Pages instead, use the ASP.NET Core Web App template or `dotnet new razor`. section 3.2.1 section 13.1.1

For a new web application, ASP.NET Core on .NET 7 is the recommended direction over legacy ASP.NET on .NET Framework. For an existing application, check platform-specific dependencies before moving it: the ability to deploy on Linux does not carry Windows-only APIs along with it. section 1.6 section 2.4.2

How ASP.NET Core in Action, 3e covers it

How deep it goes
Defines the platform generations and contrasts their APIs and application models without detailing runtime internals.
Examples
Uses a .NET 7 Empty web project, .NET CLI commands, and a Razor Pages template.
What it assumes
Introduces the .NET platform relationship for newcomers while offering Visual Studio and command-line setup paths.
What you can do after
Build it from scratch using a .NET 7 project template and distinguish cross-platform code from Windows-only dependencies.
How it connects
Links ASP.NET Core, .NET Framework, console applications, web servers, and the Windows Compatibility Pack.

Also explained in

Compare how 5 books explain .NET →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of ASP.NET Core in Action, 3e. The section links point to the parts of the book it draws on.