The .NET Command Line Interface (CLI) provides a variety of templates for creating different types of ASP.NET Core projects. These templates help developers quickly scaffold applications with predefined structures and configurations, allowing them to focus on building features rather than setting up the project environment. This guide will detail the available templates for ASP.NET Core projects in the CLI.

How to List Available Templates

To view the available templates in your .NET CLI environment, you can use the following command:

dotnet new --list

This command will display a list of all available templates, including those for ASP.NET Core projects. The output will include the template name, short name, language, and tags associated with each template.

Common ASP.NET Core Project Templates

Here are some of the most commonly used templates for ASP.NET Core projects:

1. ASP.NET Core Web Application

The webapp template is used to create a new ASP.NET Core web application with Razor Pages. This template is suitable for building dynamic web applications with server-side rendering.

dotnet new webapp -n MyWebApp

This command creates a new Razor Pages web application named MyWebApp.

2. ASP.NET Core MVC Application

The mvc template is used to create a new ASP.NET Core web application that follows the Model-View-Controller (MVC) architectural pattern. This template is ideal for applications that require a clear separation of concerns.

dotnet new mvc -n MyMvcApp

This command creates a new MVC web application named MyMvcApp.

3. ASP.NET Core API Application

The webapi template is used to create a new ASP.NET Core web application that is designed to serve as a RESTful API. This template is suitable for building backend services that communicate with client applications.

dotnet new webapi -n MyApiApp

This command creates a new web API application named MyApiApp.

4. ASP.NET Core Blazor WebAssembly Application

The blazorwasm template is used to create a new Blazor WebAssembly application. This template allows you to build interactive web applications using C# instead of JavaScript, running client-side in the browser.

dotnet new blazorwasm -n MyBlazorApp

This command creates a new Blazor WebAssembly application named MyBlazorApp.

5. ASP.NET Core Blazor Server Application

The blazorserver template is used to create a new Blazor Server application. This template allows you to build interactive web applications that run on the server and use SignalR to communicate with the client.

dotnet new blazorserver -n MyBlazorServerApp

This command creates a new Blazor Server application named MyBlazorServerApp.

Conclusion

The .NET CLI provides a variety of templates for creating ASP.NET Core projects, each tailored to different application types and architectures. By using these templates, developers can quickly scaffold new projects with the necessary structure and configuration, allowing them to focus on building features and functionality. Understanding the available templates is essential for any developer working with ASP.NET Core, as it streamlines the project setup process and enhances productivity.