适用于 dotnet new 的 .NET 默认模板

安装 .NET SDK 时,将收到十多个用于创建项目和文件的内置模板,包括控制台应用、类库、单元测试项目、ASP.NET Core 应用(包括 AngularReact 项目)和配置文件。 若要列出内置模板,请运行 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
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 包来实现。 CommonwebSPA 项目类型根据目标框架名字对象 (TFM) 使用不同的包。 例如,若要创建面向 netcoreapp1.0console 项目,请在 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.0net6.0创建 .NET 类库,或netstandard2.1netstandard2.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、、wpflibwpfcustomcontrollib、、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

  • -f|--framework <FRAMEWORK>

    指定目标框架。 自 .NET Core 3.0 SDK 起可用的选项。

    下表根据所使用的 SDK 版本号列出了默认值:

    SDK 版本 默认值
    9.0 net9.0
    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。

  • --no-restore

    在项目创建期间不执行隐式还原。

  • --sdk

    使用 MSTest.Sdk 项目样式。

  • --test-runner <TEST_RUNNER>

    测试项目的运行程序/平台。 可能的值为:

    • VSTest - VSTest 平台(默认值)。
    • MSTest - MSTest 运行程序(即Microsoft.Testing.Platform)。
  • --coverage-tool <COVERAGE_TOOL>

    用于测试项目的覆盖范围工具。 可能的值为:

    • Microsoft.CodeCoverage - Microsoft代码覆盖率(默认值)。
    • coverlet - coverlet 覆盖率工具。
  • --extensions-profile <EXTENSIONS_PROFILE>

    使用 MSTest Runner 时的 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>

    指定目标框架。 自 .NET Core 3.0 SDK 起可用的选项。

    下表根据所使用的 SDK 版本号列出了默认值:

    SDK 版本 默认值
    9.0 net9.0
    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 版本 默认值
    9.0 net9.0
    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 实例。 与 SingleOrgMultiOrg 身份验证结合使用。 默认值为 https://login.microsoftonline.com/

  • --client-id <ID>

    此项目的客户端 ID。 与 IndividualB2CSingleOrgMultiOrg 身份验证结合使用。 默认值为 11111111-1111-1111-11111111111111111

  • --domain <DOMAIN>

    目录租户的域。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 qualified.domain.name

  • --tenant-id <ID>

    要连接到的目录的 TenantId ID。 与 SingleOrg 身份验证结合使用。 默认值为 22222222-2222-2222-2222-222222222222

  • --callback-path <PATH>

    重定向 URI 的应用程序基路径中的请求路径。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 /signin-oidc

  • -r|--org-read-access

    允许此应用程序对目录进行读取访问。 仅适用于 SingleOrgMultiOrg 身份验证。

  • --exclude-launch-settings

    从生成的模板中排除 launchSettings.json。

  • --no-https

    关闭 HTTPS。 此选项仅适用于 IndividualIndividualB2CSingleOrgMultiOrg 未用于 --auth 的情况。

  • -uld|--use-local-db

    指定应使用 LocalDB,而不使用 SQLite。 仅适用于 IndividualIndividualB2C 身份验证。

  • --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。 在独立方案中与 IndividualB2CSingleOrgIndividual 身份验证一起使用。 默认值为 33333333-3333-3333-33333333333333333

  • --domain <DOMAIN>

    目录租户的域。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 qualified.domain.name

  • --app-id-uri <URI>

    要调用的服务器 API 的应用 ID URI。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 api.id.uri

  • --api-client-id <ID>

    服务器承载的 API 的客户端 ID。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 11111111-1111-1111-11111111111111111

  • -s|--default-scope <SCOPE>

    客户端为预配访问令牌所需请求的 API 作用域。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 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。 此选项仅适用于 IndividualIndividualB2CSingleOrg 未用于 --auth 的情况。

  • -uld|--use-local-db

    指定应使用 LocalDB,而不使用 SQLite。 仅适用于 IndividualIndividualB2C 身份验证。

  • --called-api-url <URL>

    要从 Web 应用调用的 API 的 URL。 仅适用于未指定 ASP.NET Core 主机的 SingleOrgIndividualB2C 身份验证。 默认值为 https://graph.microsoft.com/v1.0/me

  • --calls-graph

    指定 Web 应用是否调用 Microsoft Graph。 仅适用于 SingleOrg 身份验证。

  • --called-api-scopes <SCOPES>

    为从 Web 应用调用 API 而请求的作用域。 仅适用于未指定 ASP.NET Core 主机的 SingleOrgIndividualB2C 身份验证。 默认值为 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 实例。 与 SingleOrgMultiOrg 身份验证结合使用。 默认值为 https://login.microsoftonline.com/

  • --client-id <ID>

    此项目的客户端 ID。 与 IndividualB2CSingleOrgMultiOrg 身份验证结合使用。 默认值为 11111111-1111-1111-11111111111111111

  • --domain <DOMAIN>

    目录租户的域。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 qualified.domain.name

  • --tenant-id <ID>

    要连接到的目录的 TenantId ID。 与 SingleOrg 身份验证结合使用。 默认值为 22222222-2222-2222-2222-222222222222

  • --callback-path <PATH>

    重定向 URI 的应用程序基路径中的请求路径。 与 SingleOrgIndividualB2C 身份验证结合使用。 默认值为 /signin-oidc

  • -r|--org-read-access

    允许此应用程序对目录进行读取访问。 仅适用于 SingleOrgMultiOrg 身份验证。

  • --exclude-launch-settings

    从生成的模板中排除 launchSettings.json。

  • --no-https

    关闭 HTTPS。 此选项仅适用于未使用 IndividualIndividualB2CSingleOrgMultiOrg 的情况。

  • -uld|--use-local-db

    指定应使用 LocalDB,而不使用 SQLite。 仅适用于 IndividualIndividualB2C 身份验证。

  • -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。 仅适用于 IndividualIndividualB2C 身份验证。 自 .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。 与 IndividualB2CSingleOrg 身份验证结合使用。 默认值为 11111111-1111-1111-11111111111111111

  • -controllers|--use-controllers

    是否使用控制器而不是最小 API。 如果同时指定了此选项并且已指定 -minimal,则此选项将替代由 -minimal 指定的值。 默认值为 false。 自 .NET 8 SDK 起可用。

  • --domain <DOMAIN>

    目录租户的域。 与 IndividualB2CSingleOrg 身份验证结合使用。 默认值为 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) 支持。 不调用 AddSwaggerGenUseSwaggerUseSwaggerUI

  • --no-https

    关闭 HTTPS。 不在 launchSettings.json 中创建任何 https 启动配置文件。 不在 Program.cs/Startup.cs 中调用 app.UseHstsapp.UseHttpsRedirection。 此选项仅适用于 IndividualB2CSingleOrg 未用于身份验证的情况。

  • -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 版本。

  • --roll-forward <ROLL_FORWARD_POLICY>

    选择 SDK 版本时要使用的前滚策略,可作为特定 SDK 版本缺失时的回退,或者作为使用更高版本的指令。 有关详细信息,请参阅 global-json

editorconfig

创建用于配置代码样式首选项的 .editorconfig 文件。

  • --empty

    创建空的 .editorconfig 而非 .NET 的默认值。

另请参阅