适用于 dotnet new 的 .NET 默认模板
安装 .NET SDK 时,将收到十多个用于创建项目和文件的内置模板,包括控制台应用、类库、单元测试项目、ASP.NET Core 应用(包括 Angular 和 React 项目)和配置文件。 若要列出内置模板,请运行 dotnet new list
命令:
dotnet new list
下表显示随 .NET SDK 一起预安装的模板。 模板的默认语言显示在括号内。 单击短名称链接可查看特定的模板选项。
模板 | 短名称 | 语言 | Tags | 已引入 |
---|---|---|---|---|
控制台应用程序 | console |
[C#]、F#、VB | 常用/控制台 | 1.0 |
类库 | classlib |
[C#]、F#、VB | 常用/库 | 1.0 |
WPF 应用程序 | wpf |
[C#]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
WPF 类库 | wpflib |
[C#]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
WPF 自定义控件库 | wpfcustomcontrollib |
[C#]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
WPF 用户控件库 | wpfusercontrollib |
[C#]、VB | 常用/WPF | 3.0(对于 VB,则为 5.0) |
Windows 窗体 (WinForms) 应用程序 | winforms |
[C#]、VB | 常用/WinForms | 3.0(对于 VB,则为 5.0) |
Windows 窗体 (WinForms) 类库 | winformslib |
[C#]、VB | 常用/WinForms | 3.0(对于 VB,则为 5.0) |
Worker Service | worker |
[C#] | 常用/Worker/Web | 3.0 |
单元测试项目 | mstest |
[C#]、F#、VB | 测试/MSTest | 1.0 |
NUnit 3 测试项目 | nunit |
[C#]、F#、VB | 测试/NUnit | 2.1.400 |
NUnit 3 测试项 | nunit-test |
[C#]、F#、VB | 测试/NUnit | 2.2 |
xUnit 测试项目 | xunit |
[C#]、F#、VB | 测试/xUnit | 1.0 |
Razor 组件 | razorcomponent |
[C#] | Web/ASP.NET | 3.0 |
Razor 页 | page |
[C#] | Web/ASP.NET | 2.0 |
MVC ViewImports | viewimports |
[C#] | Web/ASP.NET | 2.0 |
MVC ViewStart | viewstart |
[C#] | Web/ASP.NET | 2.0 |
Blazor Web 应用 | blazor |
[C#] | Web/Blazor | 8.0.100 |
BlazorWebAssembly 独立应用 | blazorwasm |
[C#] | Web/Blazor//WebAssemblyPWA | 3.1.300 |
ASP.NET Core 空 | web |
[C#],F# | Web/空 | 1.0 |
ASP.NET Core Web 应用程序 (Model-View-Controller) | mvc |
[C#],F# | Web/MVC | 1.0 |
ASP.NET Core Web 应用程序 | webapp, razor |
[C#] | Web/MVC/Razor Pages | 2.2、2.0 |
Razor 类库 | razorclasslib |
[C#] | Web/Razor/库/Razor 类库 | 2.1 |
ASP.NET Core Web API | webapi |
[C#],F# | Web/Web API/API/Service/WebAPI | 1.0 |
ASP.NET Core API | webapiaot |
[C#] | Web/Web API/API/Service | 8.0 |
ASP.NET 核心 API 控制器 | apicontroller |
[C#] | Web/ASP.NET | 8.0 |
ASP.NET Core gRPC 服务 | grpc |
[C#] | Web/gRPC | 3.0 |
dotnet gitignore 文件 | gitignore |
配置 | 3.0 | |
global.json 文件 | globaljson |
配置 | 2.0 | |
NuGet 配置 | nugetconfig |
配置 | 1.0 | |
Dotnet 本地工具清单文件 | tool-manifest |
配置 | 3.0 | |
Web 配置 | webconfig |
配置 | 1.0 | |
解决方案文件 | sln |
解决方案 | 1.0 | |
协议缓冲区文件 | proto |
Web/gRPC | 3.0 | |
EditorConfig 文件 | editorconfig |
Config | 6.0 |
下表显示了已停用且不再随 .NET SDK 预安装的模板。 单击短名称链接可查看特定的模板选项。
模板 | 短名称 | 语言 | 标记 | 自 |
---|---|---|---|---|
含 Angular 的 ASP.NET Core | angular |
[C#] | Web/MVC/SPA | 8.0 |
含 React.js 的 ASP.NET Core | react |
[C#] | Web/MVC/SPA | 8.0 |
Blazor 服务器应用 | blazorserver |
[C#] | Web/Blazor | 8.0 |
Blazor 服务器应用空 | blazorserver-empty |
[C#] | Web/Blazor | 8.0 |
BlazorWebAssembly 应用空 | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
模板选项
每个模板都可能有附加选项。 若要显示模板可用的其他选项,请将 --help
选项与模板名称参数一起使用,例如:dotnet new console --help
。
如果模板支持多种语言,此命令将以默认语言显示有关模板的帮助。 通过将其与 --language
选项结合使用,可以查看其他语言的帮助:dotnet new console --help --language F#
。
.NET SDK 附带的模板具有以下附加选项:
console
-f|--framework <FRAMEWORK>
指定目标框架。 自 .NET Core 3.0 SDK 起可用。
下表根据所使用的 SDK 版本列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
3.1 netcoreapp3.1
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果仅安装了 .NET 7 SDK,则
--framework
唯一可用的值为net7.0
。 如果安装了 .NET 6 SDK,值net6.0
将可用于--framework
。 如果安装了 .NET Core 3.1 SDK,则netcoreapp3.1
将可用,依此类推。 因此,通过指定--framework netcoreapp3.1
,即使是在 .NET 6 SDK 中运行dotnet new
时,也可以面向 .NET Core 3.1。或者,若要创建面向早于你使用的 SDK 的框架的项目,可以通过为模板安装 NuGet 包来实现。 Common、web 和 SPA 项目类型根据目标框架名字对象 (TFM) 使用不同的包。 例如,若要创建面向
netcoreapp1.0
的console
项目,请在Microsoft.DotNet.Common.ProjectTemplates.1.x
上运行dotnet new install
。--langVersion <VERSION_NUMBER>
在已创建的项目文件中设置
LangVersion
属性。 例如,使用--langVersion 7.3
以使用 C# 7.3。 不支持 F#。 自 .NET Core 2.2 SDK 起可用。有关默认的 C# 版本列表,请参阅默认。
--no-restore
如已指定,则在项目创建期间不执行隐式还原。 自 .NET Core 2.2 SDK 起可用。
--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。 仅适用于 C#。
classlib
-f|--framework <FRAMEWORK>
指定目标框架。 值:
net8.0
、或net7.0
net6.0
创建 .NET 类库,或netstandard2.1
netstandard2.0
创建 .NET 标准类库。 .NET SDK 8.0.x 的默认值是net8.0
。要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--langVersion <VERSION_NUMBER>
在已创建的项目文件中设置
LangVersion
属性。 例如,使用--langVersion 7.3
以使用 C# 7.3。 不支持 F#。 自 .NET Core 2.2 SDK 起可用。有关默认的 C# 版本列表,请参阅默认。
--no-restore
在项目创建期间不执行隐式还原。
wpf
、、wpflib
wpfcustomcontrollib
、、wpfusercontrollib
-f|--framework <FRAMEWORK>
指定目标框架。 对于 .NET 8 SDK,默认值为
net8.0
。 自 .NET Core 3.1 SDK 起可用。--langVersion <VERSION_NUMBER>
在已创建的项目文件中设置
LangVersion
属性。 例如,使用--langVersion 7.3
以使用 C# 7.3。有关默认的 C# 版本列表,请参阅默认。
--no-restore
在项目创建期间不执行隐式还原。
winforms
, winformslib
--langVersion <VERSION_NUMBER>
在已创建的项目文件中设置
LangVersion
属性。 例如,使用--langVersion 7.3
以使用 C# 7.3。有关默认的 C# 版本列表,请参阅默认。
--no-restore
在项目创建期间不执行隐式还原。
worker
, grpc
-f|--framework <FRAMEWORK>
指定目标框架。 .NET 8 SDK 的默认值是
net8.0
。 自 .NET Core 3.1 SDK 起可用。要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
--no-restore
在项目创建期间不执行隐式还原。
--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
mstest
, xunit
-f|--framework <FRAMEWORK>
指定目标框架。 自 .NET Core 3.0 SDK 起可用的选项。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果仅安装了 .NET 6 SDK,则 --framework
唯一可用的值为 net6.0
。 如果安装了 .NET 5 SDK,值 net5.0
将可用于 --framework
。 如果安装了 .NET Core 3.1 SDK,则 netcoreapp3.1
将可用,依此类推。 因此,通过指定 --framework netcoreapp3.1
,即使是在 .NET 6 SDK 中运行 dotnet new
时,也可以面向 .NET Core 3.1。
-p|--enable-pack
允许使用 dotnet pack 为项目打包。
--no-restore
在项目创建期间不执行隐式还原。
nunit
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果仅安装了 .NET 6 SDK,则 --framework
唯一可用的值为 net6.0
。 如果安装了 .NET 5 SDK,值 net5.0
将可用于 --framework
。 如果安装了 .NET Core 3.1 SDK,则 netcoreapp3.1
将可用,依此类推。 因此,通过指定 --framework netcoreapp3.1
,即使是在 .NET 6 SDK 中运行 dotnet new
时,也可以面向 .NET Core 3.1。
-p|--enable-pack
允许使用 dotnet pack 为项目打包。
--no-restore
在项目创建期间不执行隐式还原。
page
-na|--namespace <NAMESPACE_NAME>
已生成代码的命名空间。 默认值为
MyApp.Namespace
。-np|--no-pagemodel
创建不含 PageModel 的页。
viewimports
, proto
-na|--namespace <NAMESPACE_NAME>
已生成代码的命名空间。 默认值为
MyApp.Namespace
。
blazorserver
自 .NET 8 SDK 以来已停止使用。
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。 可能的值为:
None
- 不进行身份验证(默认)。Individual
- 个人身份验证。IndividualB2C
- 使用 Azure AD B2C 进行个人身份验证。SingleOrg
- 对一个租户进行组织身份验证。 Entra 外部 ID 租户也使用SingleOrg
。MultiOrg
- 对多个租户进行组织身份验证。Windows
- Windows 身份验证。
--aad-b2c-instance <INSTANCE>
要连接到的 Azure Active Directory B2C 实例。 与
IndividualB2C
身份验证结合使用。 默认值为https://login.microsoftonline.com/tfp/
。-ssp|--susi-policy-id <ID>
此项目的登录和注册策略 ID。 与
IndividualB2C
身份验证结合使用。-rp|--reset-password-policy-id <ID>
此项目的重置密码策略 ID。 与
IndividualB2C
身份验证结合使用。-ep|--edit-profile-policy-id <ID>
此项目的编辑配置文件策略 ID。 与
IndividualB2C
身份验证结合使用。--aad-instance <INSTANCE>
要连接到的 Azure Active Directory 实例。 与
SingleOrg
或MultiOrg
身份验证结合使用。 默认值为https://login.microsoftonline.com/
。--client-id <ID>
此项目的客户端 ID。 与
IndividualB2C
、SingleOrg
或MultiOrg
身份验证结合使用。 默认值为11111111-1111-1111-11111111111111111
。--domain <DOMAIN>
目录租户的域。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为qualified.domain.name
。--tenant-id <ID>
要连接到的目录的 TenantId ID。 与
SingleOrg
身份验证结合使用。 默认值为22222222-2222-2222-2222-222222222222
。--callback-path <PATH>
重定向 URI 的应用程序基路径中的请求路径。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为/signin-oidc
。-r|--org-read-access
允许此应用程序对目录进行读取访问。 仅适用于
SingleOrg
或MultiOrg
身份验证。--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
--no-https
关闭 HTTPS。 此选项仅适用于
Individual
、IndividualB2C
、SingleOrg
和MultiOrg
未用于--auth
的情况。-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
Individual
或IndividualB2C
身份验证。--no-restore
在项目创建期间不执行隐式还原。
--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为--auth
选择单独或组织身份验证设置时忽略no-https
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
blazor
-f|--framework <FRAMEWORK>
指定目标框架。
此模板适用于 .NET 8 或更高版本。
--no-restore
在项目创建期间不执行隐式还原。
--exclude-launch-settings
从生成的应用中排除 launchSettings.json。
-int|--interactivity <None|Server|Webassembly|Auto >
指定要用于交互式组件的交互式呈现模式。 可能的值为:
None
- 无交互性(仅静态服务器端呈现)。Server
-(默认)使用交互式服务器端呈现在服务器上运行应用。WebAssembly
- 通过 WebAssembly 在浏览器中使用客户端呈现运行应用。Auto
- 在客户端下载 Blazor 捆绑包并激活 Blazor 运行时的同时,使用交互式服务器端呈现,然后搭配使用客户端呈现和 WebAssembly。
--empty
省略演示基本使用模式的示例页和样式。
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。 可能的值为:
None
- 不进行身份验证(默认)。Individual
- 个人身份验证。
-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
Individual
身份验证。-ai|--all-interactive
通过在顶层应用交互式呈现模式,使每个页面都具有交互性。 如果为
false
,则页面默认使用静态服务器端呈现,并且可在每页或每个组件的基础上标记为交互式。 仅当-i|--interactivity
选项未设置为None
时,此选项才有效。--no-https
关闭 HTTPS。 仅当未为
-au|--auth
选项选择Individual
时,此选项才适用。--use-program-main
如果已指定,则将生成显式
Program
类和Main
方法,而不是顶级语句。
blazorwasm
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--no-restore
在项目创建期间不执行隐式还原。
-ho|--hosted
包括 BlazorWebAssembly 应用的 ASP.NET Core 主机。
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。 可能的值为:
None
- 不进行身份验证(默认)。Individual
- 个人身份验证。IndividualB2C
- 使用 Azure AD B2C 进行个人身份验证。SingleOrg
- 对一个租户进行组织身份验证。 Entra 外部 ID 租户也使用 SingleOrg。
--authority <AUTHORITY>
OIDC 提供程序所属的机构。 与
Individual
身份验证结合使用。 默认值为https://login.microsoftonline.com/
。--aad-b2c-instance <INSTANCE>
要连接到的 Azure Active Directory B2C 实例。 与
IndividualB2C
身份验证结合使用。 默认值为https://aadB2CInstance.b2clogin.com/
。-ssp|--susi-policy-id <ID>
此项目的登录和注册策略 ID。 与
IndividualB2C
身份验证结合使用。--aad-instance <INSTANCE>
要连接到的 Azure Active Directory 实例。 与
SingleOrg
身份验证结合使用。 默认值为https://login.microsoftonline.com/
。--client-id <ID>
此项目的客户端 ID。 在独立方案中与
IndividualB2C
、SingleOrg
或Individual
身份验证一起使用。 默认值为33333333-3333-3333-33333333333333333
。--domain <DOMAIN>
目录租户的域。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为qualified.domain.name
。--app-id-uri <URI>
要调用的服务器 API 的应用 ID URI。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为api.id.uri
。--api-client-id <ID>
服务器承载的 API 的客户端 ID。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为11111111-1111-1111-11111111111111111
。-s|--default-scope <SCOPE>
客户端为预配访问令牌所需请求的 API 作用域。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为user_impersonation
。--tenant-id <ID>
要连接到的目录的 TenantId ID。 与
SingleOrg
身份验证结合使用。 默认值为22222222-2222-2222-2222-222222222222
。-r|--org-read-access
允许此应用程序对目录进行读取访问。 仅适用于
SingleOrg
身份验证。--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
-p|--pwa
生成支持安装和脱机使用的渐进式 Web 应用程序 (PWA)。
--no-https
关闭 HTTPS。 此选项仅适用于
Individual
、IndividualB2C
和SingleOrg
未用于--auth
的情况。-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
Individual
或IndividualB2C
身份验证。--called-api-url <URL>
要从 Web 应用调用的 API 的 URL。 仅适用于未指定 ASP.NET Core 主机的
SingleOrg
或IndividualB2C
身份验证。 默认值为https://graph.microsoft.com/v1.0/me
。--calls-graph
指定 Web 应用是否调用 Microsoft Graph。 仅适用于
SingleOrg
身份验证。--called-api-scopes <SCOPES>
为从 Web 应用调用 API 而请求的作用域。 仅适用于未指定 ASP.NET Core 主机的
SingleOrg
或IndividualB2C
身份验证。 默认值为user.read
。--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为--auth
选择单独或组织身份验证设置时忽略no-https
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
web
--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
-f|--framework <FRAMEWORK>
指定目标框架。 选项在 .NET Core 2.2 SDK 中不可用。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.1
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--no-restore
在项目创建期间不执行隐式还原。
--no-https
关闭 HTTPS。
--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为--auth
选择单独或组织身份验证设置时忽略no-https
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
mvc
, webapp
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。 可能的值为:
None
- 不进行身份验证(默认)。Individual
- 个人身份验证。IndividualB2C
- 使用 Azure AD B2C 进行个人身份验证。SingleOrg
- 对一个租户进行组织身份验证。 Entra 外部 ID 租户也使用 SingleOrg。MultiOrg
- 对多个租户进行组织身份验证。Windows
- Windows 身份验证。
--aad-b2c-instance <INSTANCE>
要连接到的 Azure Active Directory B2C 实例。 与
IndividualB2C
身份验证结合使用。 默认值为https://login.microsoftonline.com/tfp/
。-ssp|--susi-policy-id <ID>
此项目的登录和注册策略 ID。 与
IndividualB2C
身份验证结合使用。-rp|--reset-password-policy-id <ID>
此项目的重置密码策略 ID。 与
IndividualB2C
身份验证结合使用。-ep|--edit-profile-policy-id <ID>
此项目的编辑配置文件策略 ID。 与
IndividualB2C
身份验证结合使用。--aad-instance <INSTANCE>
要连接到的 Azure Active Directory 实例。 与
SingleOrg
或MultiOrg
身份验证结合使用。 默认值为https://login.microsoftonline.com/
。--client-id <ID>
此项目的客户端 ID。 与
IndividualB2C
、SingleOrg
或MultiOrg
身份验证结合使用。 默认值为11111111-1111-1111-11111111111111111
。--domain <DOMAIN>
目录租户的域。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为qualified.domain.name
。--tenant-id <ID>
要连接到的目录的 TenantId ID。 与
SingleOrg
身份验证结合使用。 默认值为22222222-2222-2222-2222-222222222222
。--callback-path <PATH>
重定向 URI 的应用程序基路径中的请求路径。 与
SingleOrg
或IndividualB2C
身份验证结合使用。 默认值为/signin-oidc
。-r|--org-read-access
允许此应用程序对目录进行读取访问。 仅适用于
SingleOrg
或MultiOrg
身份验证。--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
--no-https
关闭 HTTPS。 此选项仅适用于未使用
Individual
、IndividualB2C
、SingleOrg
和MultiOrg
的情况。-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
Individual
或IndividualB2C
身份验证。-f|--framework <FRAMEWORK>
指定目标框架。 自 .NET Core 3.0 SDK 起可用的选项。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--no-restore
在项目创建期间不执行隐式还原。
--use-browserlink
在项目中添加 BrowserLink。 选项在 .NET Core 2.2 和 3.1 SDK 中不可用。
-rrc|--razor-runtime-compilation
确定项目是否配置为在调试生成中使用 Razor 运行时编译。 自 .NET Core 3.1.201 SDK 起可用的选项。
--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为--auth
选择单独或组织身份验证设置时忽略no-https
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
angular
, react
自 .NET 8 SDK 以来已停止使用。
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。 自 .NET Core 3.0 SDK 起可用。
可能的值为:
None
- 不进行身份验证(默认)。Individual
- 个人身份验证。
--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
--no-restore
在项目创建期间不执行隐式还原。
--no-https
关闭 HTTPS。 仅当身份验证为
None
时,此选项才适用。-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
Individual
或IndividualB2C
身份验证。 自 .NET Core 3.0 SDK 起可用。-f|--framework <FRAMEWORK>
指定目标框架。 选项在 .NET Core 2.2 SDK 中不可用。
下表根据所使用的 SDK 版本号列出了默认值:
注意
没有适用于
net8.0
的 React 模板,但是,如果你有兴趣使用 ASP.NET Core 开发 React 应用,请参阅 ASP.NET Core 中的单页应用 (SPA) 概述。SDK 版本 默认值 7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为--auth
选择单独或组织身份验证设置时忽略no-https
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
razorclasslib
--no-restore
在项目创建期间不执行隐式还原。
-s|--support-pages-and-views
除了将组件添加到此库以外,还支持添加传统的 Razor 页面和视图。 自 .NET Core 3.0 SDK 起可用。
webapiaot
创建启用了 AOT 发布的 Web API 项目。 有关详细信息,请参阅本机 AOT 部署 和 Web API(本机 AOT)模板。
--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
--no-restore
在项目创建期间不执行隐式还原。
--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
webapi
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。 可能的值为:
None
- 不进行身份验证(默认)。IndividualB2C
- 使用 Azure AD B2C 进行个人身份验证。SingleOrg
- 对一个租户进行组织身份验证。 Entra 外部 ID 租户也使用 SingleOrg。Windows
- Windows 身份验证。
--aad-b2c-instance <INSTANCE>
要连接到的 Azure Active Directory B2C 实例。 与
IndividualB2C
身份验证结合使用。 默认值为https://login.microsoftonline.com/tfp/
。-minimal|--use-minimal-apis
创建使用 ASP.NET Core 最小 API 的项目。 默认值为
false
,但此选项被-controllers
重写。 由于-controllers
的默认值 为false
,因此输入dotnet new webapi
时不指定任一选项将创建最小的 API 项目。-ssp|--susi-policy-id <ID>
此项目的登录和注册策略 ID。 与
IndividualB2C
身份验证结合使用。--aad-instance <INSTANCE>
要连接到的 Azure Active Directory 实例。 与
SingleOrg
身份验证结合使用。 默认值为https://login.microsoftonline.com/
。--client-id <ID>
此项目的客户端 ID。 与
IndividualB2C
或SingleOrg
身份验证结合使用。 默认值为11111111-1111-1111-11111111111111111
。-controllers|--use-controllers
是否使用控制器而不是最小 API。 如果同时指定了此选项并且已指定
-minimal
,则此选项将替代由-minimal
指定的值。 默认值为false
。 自 .NET 8 SDK 起可用。--domain <DOMAIN>
目录租户的域。 与
IndividualB2C
或SingleOrg
身份验证结合使用。 默认值为qualified.domain.name
。--tenant-id <ID>
要连接到的目录的 TenantId ID。 与
SingleOrg
身份验证结合使用。 默认值为22222222-2222-2222-2222-222222222222
。-r|--org-read-access
允许此应用程序对目录进行读取访问。 仅适用于
SingleOrg
身份验证。--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
--no-openapi
禁用 OpenAPI (Swagger) 支持。 不调用
AddSwaggerGen
、UseSwagger
和UseSwaggerUI
。--no-https
关闭 HTTPS。 不在
launchSettings.json
中创建任何 https 启动配置文件。 不在 Program.cs/Startup.cs 中调用app.UseHsts
和app.UseHttpsRedirection
。 此选项仅适用于IndividualB2C
或SingleOrg
未用于身份验证的情况。-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
IndividualB2C
身份验证。-f|--framework <FRAMEWORK>
指定目标框架。 选项在 .NET Core 2.2 SDK 中不可用。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 8.0 net8.0
7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.1
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
console
项目的--framework
。--no-restore
在项目创建期间不执行隐式还原。
--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
apicontroller
具有或不使用读/写操作的 API 控制器。
-p:n|--name <NAME>
生成的代码的命名空间。 默认值为
MyApp.Namespace
。-ac|--actions
创建具有读/写操作的控制器。 默认值为
false
。
globaljson
--sdk-version <VERSION_NUMBER>
指定要在 global.json 文件中使用的 .NET SDK 版本。
editorconfig
创建用于配置代码样式首选项的 .editorconfig 文件。
--empty
创建空的 .editorconfig 而非 .NET 的默认值。