使用 dotnet new 模板 ,创建不同的模板应用。
可以运行[`dotnet new --list`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-list)以查看所有已安装模板的列表
```
dotnet new --list
```
```
dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
[-n|--name <OUTPUT_NAME>] [--no-update-check] [-o|--output <OUTPUT_DIRECTORY>] [Template options]
dotnet new -h|--help
```
`dotnet new`命令基于模板创建 .NET 项目或其他项目。
* 下表显示随 .NET SDK 一起预安装的模板。 模板的默认语言显示在括号内。 单击短名称链接可查看特定的模板选项。
| 模板 | 短名称 | 语言 | Tags | 已引入 |
| --- | --- | --- | --- | --- |
| 控制台应用程序 | [`console`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#console) | \[C#\]、F#、VB | 常用/控制台 | 1.0 |
| 类库 | [`classlib`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#classlib) | \[C#\]、F#、VB | 常用/库 | 1.0 |
| WPF 应用程序 | [`wpf`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#wpf) | \[C#\]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
| WPF 类库 | [`wpflib`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#wpf) | \[C#\]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
| WPF 自定义控件库 | [`wpfcustomcontrollib`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#wpf) | \[C#\]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
| WPF 用户控件库 | [`wpfusercontrollib`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#wpf) | \[C#\]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
| Windows 窗体 (WinForms) 应用程序 | [`winforms`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#winforms) | \[C#\]、VB | 常用/WinForms | 3.0(对于 VB,则为 5.0) |
| Windows 窗体 (WinForms) 类库 | [`winformslib`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#winforms) | \[C#\]、VB | 常用/WinForms | 3.0(对于 VB,则为 5.0) |
| Worker Service | [`worker`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#web-others) | \[C#\] | 常用/Worker/Web | 3.0 |
| 单元测试项目 | [`mstest`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#test) | \[C#\]、F#、VB | 测试/MSTest | 1.0 |
| NUnit 3 测试项目 | [`nunit`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#nunit) | \[C#\]、F#、VB | 测试/NUnit | 2.1.400 |
| NUnit 3 测试项 | `nunit-test` | \[C#\]、F#、VB | 测试/NUnit | 2.2 |
| xUnit 测试项目 | [`xunit`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#test) | \[C#\]、F#、VB | 测试/xUnit | 1.0 |
| Razor 组件 | `razorcomponent` | \[C#\] | Web/ASP.NET | 3.0 |
| Razor 页 | [`page`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#page) | \[C#\] | Web/ASP.NET | 2.0 |
| MVC ViewImports | [`viewimports`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#namespace) | \[C#\] | Web/ASP.NET | 2.0 |
| MVC ViewStart | `viewstart` | \[C#\] | Web/ASP.NET | 2.0 |
| Blazor 服务器应用 | [`blazorserver`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#blazorserver) | \[C#\] | Web/Blazor | 3.0 |
| BlazorWebAssembly 应用 | [`blazorwasm`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#blazorwasm) | \[C#\] | Web/Blazor/WebAssembly | 3.1.300 |
| ASP.NET Core 空 | [`web`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#web) | \[C#\],F# | Web/空 | 1.0 |
| ASP.NET Core Web 应用程序 (Model-View-Controller) | [`mvc`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#web-options) | \[C#\],F# | Web/MVC | 1.0 |
| ASP.NET Core Web 应用程序 | [`webapp, razor`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#web-options) | \[C#\] | Web/MVC/Razor Pages | 2.2、2.0 |
| 含 Angular 的 ASP.NET Core | [`angular`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#spa) | \[C#\] | Web/MVC/SPA | 2.0 |
| 含 React.js 的 ASP.NET Core | [`react`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#spa) | \[C#\] | Web/MVC/SPA | 2.0 |
| 含 React.js 和 Redux 的 ASP.NET Core | [`reactredux`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#reactredux) | \[C#\] | Web/MVC/SPA | 2.0 |
| Razor 类库 | [`razorclasslib`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#razorclasslib) | \[C#\] | Web/Razor/库/Razor 类库 | 2.1 |
| ASP.NET Core Web API | [`webapi`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#webapi) | \[C#\],F# | Web/WebAPI | 1.0 |
| ASP.NET Core gRPC 服务 | [`grpc`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#web-others) | \[C#\] | Web/gRPC | 3.0 |
| dotnet gitignore 文件 | `gitignore` | | 配置 | 3.0 |
| global.json 文件 | [`globaljson`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#globaljson) | | 配置 | 2.0 |
| NuGet 配置 | `nugetconfig` | | 配置 | 1.0 |
| Dotnet 本地工具清单文件 | `tool-manifest` | | 配置 | 3.0 |
| Web 配置 | `webconfig` | | 配置 | 1.0 |
| 解决方案文件 | `sln` | | 解决方案 | 1.0 |
| 协议缓冲区文件 | [`proto`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#namespace) | | Web/gRPC | 3.0 |
| EditorConfig 文件 | [`editorconfig`](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates#editorconfig) | | Config | 6.0 |
## 模板选项
每个模板都可能定义了附加选项。 有关详细信息,请参阅[适用于`dotnet new`的 .NET 默认模板](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new-sdk-templates)。
## [](https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new#examples)示例
* 创建 C# 控制台应用程序项目:
.NET CLI复制
~~~
dotnet new console
~~~
* 在当前目录中创建 F# 控制台应用程序项目:
.NET CLI复制
~~~
dotnet new console --language "F#"
~~~
* 在指定的目录中创建 .NET Standard 2.0 类库项目:
.NET CLI复制
~~~
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
~~~
* 在当前目录中新建没有设置身份验证的 ASP.NET Core C# MVC 项目:
.NET CLI复制
~~~
dotnet new mvc -au None
~~~
* 创建新的 xUnit 项目:
.NET CLI复制
~~~
dotnet new xunit
~~~
* 在当前目录中创建 global.json,将 SDK 版本设置为 3.1.101:
.NET CLI复制
~~~
dotnet new globaljson --sdk-version 3.1.101
~~~
* 显示 C# 控制台应用程序模板的帮助:
.NET CLI复制
~~~
dotnet new console -h
~~~
* 显示 F# 控制台应用程序模板的帮助:
.NET CLI复制
~~~
dotnet new console --language "F#" -h
~~~