dotnet new
命令用来初始化项目,也可以用来创建解决方案文件、Nuget 配置文件等。
dotnet new
根据指定的模板和选项调用模板引擎创建项目。目前 dotnet new
已经提供了非常多的模板,在终端中输入 dotnet new -l
就会打印出支持的模板。
dotnet new
使用 -lang|--language
选项还可以指定项目的语言。
参数
TEMPLATE
初始化项目使用的模板。
下面列举的是一些常用的模板。
模板 | 简称 | 语言 |
---|---|---|
Console Application | console | [C#], F#, VB |
Class library | classlib | [C#], F#, VB |
Unit Test Project | mstest | [C#], F#, VB |
ASP.NET Core Empty | web | [C#], F# |
ASP.NET Core Web App (Model-View-Controll) | mvc | [C#], F# |
ASP.NET Core Web App | razor | [C#] |
ASP.NET Core Web API | webapi | [C#], F# |
Solution File | sln | - |
当创建项目时,例如控制台应用,最简单的方法就是执行 dotnet new console
命令。console 是上面表格中“简称”一列的内容。如果创建一个类库项目,那么 dotnet new
后面应该跟 classlib
。
// 创建控制台应用
dotnet new console
// 创建类库
dotnet new classlib
选项
-h|--help
打印帮助信息。
dotnet new
命令本身或模板都可以指定该选项。
// dotnet new 的帮助信息
dotnet new -h
// mvc 模板的帮助信息
dotnet new mvc -h
-n|--name <OUTPUT_NAME>
项目的名称。如果未指定,默认为当前目录的名称。
如果创建一个名为 demo 控制台项目,有两种方式。
// 不指定 -n 选项,默认使用当前目录的名称
mkdir demo && cd demo
dotnet new console
// 指定 -n 选项
dotnet new console -n demo
-o|--output <OUTPUT_DIRECTORY>
项目创建到的位置。
dotnet new console -o demo
注意 -o
和 -n
两者的区别。-o
是项目存放的位置,-n
是项目的名称。例如,创建一个名为 demo 的控制台项目,项目所在的目录为 proj。
dotnet new console -n demo -o proj
-lang|--language {C#|F#|VB}
创建项目使用的语言。如果不指定,默认使用的是 C#。
// 创建一个使用 F# 的控制台应用
dotnet new console -lang F#
-l|--list
列出包含指定名称的模板。如果不指定,则会列出所有的模板。
// 列举所有的模板
dotnet new -l
// 列举包含 con 的模板
dotnet new con -l
--type
根据类型筛选模板。预定义的值有:project、item 和 other。
// 列举 item 类型的模板
dotnet new --type item
--force
强制创建。例如目录中已经包含了项目,可以使用该选项强制重写已有文件。
-i|--install <PATH|NUGET_ID>
安装模板。
可以自定义模板,通过文件系统或 NuGet 进行分发后,使用该选项进行安装。关于如何自定义模板,请参阅 https://docs.microsoft.com/en-us/dotnet/core/tutorials/create-custom-template 。
-u|--uninstall <PATH|NUGET_ID>
卸载模板。