适用于 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 测试项目 | mstest |
[C#]、F#、VB | 测试/MSTest | 1.0 |
MSTest 测试类 | mstest-class |
[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 |
Blazor WebAssembly 独立应用 | 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 |
配置 | 6.0 |
下表显示了已停用且不再随 .NET SDK 预安装的模板。 单击短名称链接可查看特定的模板选项。
模板 | 短名称 | 语言 | Tags | 自 |
---|---|---|---|---|
含 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 |
Blazor WebAssembly 应用空 | 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 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果只安装了 .NET 9 SDK,则可用于
--framework
的唯一值是net9.0
。 例如,如果安装 .NET 8 SDK,则值net8.0
可用于--framework
。 因此,通过指定--framework net8.0
,即使在 .NET 9 SDK 中运行dotnet new
时,也可以以 .NET 8 为目标。或者,若要创建面向早于你使用的 SDK 的框架的项目,可以通过为模板安装 NuGet 包来实现。 Common、web 和 SPA 项目类型根据目标框架名字对象 (TFM) 使用不同的包。 例如,若要创建面向
console
的netcoreapp1.0
项目,请在dotnet new install
上运行Microsoft.DotNet.Common.ProjectTemplates.1.x
。--langVersion <VERSION_NUMBER>
在已创建的项目文件中设置
LangVersion
属性。 例如,使用--langVersion 7.3
以使用 C# 7.3。 不支持 F#。有关默认的 C# 版本列表,请参阅默认。
--no-restore
如已指定,则在项目创建期间不执行隐式还原。
--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。 仅适用于 C#。
classlib
-f|--framework <FRAMEWORK>
指定目标框架。 值:
net9.0
、或net8.0
net7.0
创建 .NET 类库,或netstandard2.1
netstandard2.0
创建 .NET 标准类库。 .NET SDK 9.0.x 的默认值为net9.0
。要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--langVersion <VERSION_NUMBER>
在已创建的项目文件中设置
LangVersion
属性。 例如,使用--langVersion 7.3
以使用 C# 7.3。 不支持 F#。有关默认的 C# 版本列表,请参阅默认。
--no-restore
在项目创建期间不执行隐式还原。
wpf
、、wpflib
wpfcustomcontrollib
、、wpfusercontrollib
-f|--framework <FRAMEWORK>
指定目标框架。 对于 .NET 9 SDK,默认值为
net9.0
。--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 9 SDK 的默认值为
net9.0
。要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
--no-restore
在项目创建期间不执行隐式还原。
--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
mstest
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果只安装了 .NET 9 SDK,则可用于 --framework
的唯一值是 net9.0
。 例如,如果安装 .NET 8 SDK,则值 net8.0
可用于 --framework
。 因此,通过指定 --framework net8.0
,即使在 .NET 9 SDK 中运行 dotnet new
时,也可以以 .NET 8 为目标。
--no-restore
在项目创建期间不执行隐式还原。
--sdk
使用 MSTest.Sdk 项目样式。
--test-runner <TEST_RUNNER>
测试项目的运行程序/平台。 可能的值为:
-
VSTest
- VSTest 平台(默认值)。 -
MSTest
- Microsoft.Testing.Platform。
-
--coverage-tool <COVERAGE_TOOL>
用于测试项目的覆盖范围工具。 可能的值为:
-
Microsoft.CodeCoverage
- Microsoft代码覆盖率(默认值)。 -
coverlet
- coverlet 覆盖率工具。
-
--extensions-profile <EXTENSIONS_PROFILE>
使用 Microsoft.Testing.Platform 时的 SDK 扩展配置文件。 可能的值为:
-
Default
- 默认扩展配置文件(默认值)。 -
None
- 未启用任何扩展。 -
AllMicrosoft
- 启用 Microsoft 提供的所有扩展(包括具有限制性许可证的扩展)。
-
--fixture <FIXTURE>
要包含在测试项目中的装置类型。 可能的值为:
-
None
- 无固定装置方法。 -
AssemblyInitialize
- AssemblyInitialize 装置方法。 -
AssemblyCleanup
- AssemblyCleanup 装置方法。 -
ClassInitialize
- ClassInitialize 固定装置方法。 -
ClassCleanup
- ClassCleanup 装置方法。 -
TestInitialize
- TestInitialize 固定装置方法。 -
TestCleanup
- TestCleanup 装置方法。
允许多个值的位置。
-
-p|--enable-pack
允许使用 dotnet pack 为项目打包。
mstest-class
--fixture <FIXTURE>
要包含在测试项目中的装置类型。 可能的值为:
-
None
- 无固定装置方法。 -
AssemblyInitialize
- AssemblyInitialize 装置方法。 -
AssemblyCleanup
- AssemblyCleanup 装置方法。 -
ClassInitialize
- ClassInitialize 固定装置方法。 -
ClassCleanup
- ClassCleanup 装置方法。 -
TestInitialize
- TestInitialize 固定装置方法。 -
TestCleanup
- TestCleanup 装置方法。
允许多个值的位置。
-
xunit
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果只安装了 .NET 9 SDK,则可用于 --framework
的唯一值是 net9.0
。 例如,如果安装 .NET 8 SDK,则值 net8.0
可用于 --framework
。 因此,通过指定 --framework net8.0
,即使在 .NET 9 SDK 中运行 dotnet new
时,也可以以 .NET 8 为目标。
-p|--enable-pack
允许使用 dotnet pack 为项目打包。
--no-restore
在项目创建期间不执行隐式还原。
nunit
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
能否为较早的 TFM 创建项目取决于是否安装了该版本的 SDK。 例如,如果只安装了 .NET 9 SDK,则可用于 --framework
的唯一值是 net9.0
。 例如,如果安装 .NET 8 SDK,则值 net8.0
可用于 --framework
。 因此,通过指定 --framework net8.0
,即使在 .NET 9 SDK 中运行 dotnet new
时,也可以以 .NET 8 为目标。
-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
时,此选项不适用(但为no-https
选择单独或组织身份验证设置时忽略--auth
)。--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。 仅当未为
Individual
选项选择-au|--auth
时,此选项才适用。--use-program-main
如果已指定,则将生成显式
Program
类和Main
方法,而不是顶级语句。
blazorwasm
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--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
时,此选项不适用(但为no-https
选择单独或组织身份验证设置时忽略--auth
)。--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 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--no-restore
在项目创建期间不执行隐式还原。
--no-https
关闭 HTTPS。
--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为no-https
选择单独或组织身份验证设置时忽略--auth
)。--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 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--no-restore
在项目创建期间不执行隐式还原。
--use-browserlink
在项目中添加 BrowserLink。
-rrc|--razor-runtime-compilation
确定项目是否配置为在调试生成中使用 Razor 运行时编译。
--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为no-https
选择单独或组织身份验证设置时忽略--auth
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
angular
, react
自 .NET 8 SDK 以来已停止使用。
-au|--auth <AUTHENTICATION_TYPE>
要使用的身份验证类型。
可能的值为:
-
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>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
注意
没有适用于
net8.0
的 React 模板,但是,如果你有兴趣使用 ASP.NET Core 开发 React 应用,请参阅 ASP.NET Core 中的单页应用 (SPA) 概述。SDK 版本 默认值 7.0 net7.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--kestrelHttpPort
要用于 launchSettings.json 中的 HTTP 终结点的端口号。
--kestrelHttpsPort
要用于 launchSettings.json 中的 HTTPS 终结点的端口号。 使用参数
no-https
时,此选项不适用(但为no-https
选择单独或组织身份验证设置时忽略--auth
)。--use-program-main
如果指定,将使用显式
Program
类和Main
方法,而不是顶级语句。 自 .NET SDK 6.0.300 之后可用。 默认值:false
。
razorclasslib
--no-restore
在项目创建期间不执行隐式还原。
-s|--support-pages-and-views
除了将组件添加到此库以外,还支持添加传统的 Razor 页面和视图。
webapiaot
创建启用了 AOT 发布的 Web API 项目。 有关详细信息,请参阅本机 AOT 部署 和 Web API(本机 AOT)模板。
--exclude-launch-settings
从生成的模板中排除 launchSettings.json。
-f|--framework <FRAMEWORK>
指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.0
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。 不在 中创建任何 https 启动配置文件。 不在 Program.cs
app.UseHsts
Startup.cs 中调用app.UseHttpsRedirection
和 。 此选项仅适用于IndividualB2C
或SingleOrg
未用于身份验证的情况。-uld|--use-local-db
指定应使用 LocalDB,而不使用 SQLite。 仅适用于
IndividualB2C
身份验证。-f|--framework <FRAMEWORK>
指定目标框架。 选项在 .NET Core 2.2 SDK 中不可用。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.0
8.0 net8.0
7.0 net7.0
要创建一个面向你使用的 SDK 之前的框架的项目,请参阅本文前面部分
--framework
项目的console
。--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 版本。
--roll-forward <ROLL_FORWARD_POLICY>
选择 SDK 版本时要使用的前滚策略,可作为特定 SDK 版本缺失时的回退,或者作为使用更高版本的指令。 有关详细信息,请参阅 global-json。
editorconfig
创建用于配置代码样式首选项的 .editorconfig 文件。
--empty
创建空的 .editorconfig 而非 .NET 的默认值。