适用于 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
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 包来实现。 CommonwebSPA 项目类型根据目标框架名字对象 (TFM) 使用不同的包。 例如,若要创建面向 consolenetcoreapp1.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.0net7.0创建 .NET 类库,或netstandard2.1netstandard2.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、、wpflibwpfcustomcontrollib、、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 实例。 与 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 时,此选项不适用(但为 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。 在独立方案中与 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 时,此选项不适用(但为 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 实例。 与 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 版本 默认值
    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。 仅适用于 IndividualIndividualB2C 身份验证。 自 .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。 与 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。 不在 中创建任何 https 启动配置文件。 不在 Program.csapp.UseHstsStartup.cs 中调用 app.UseHttpsRedirection。 此选项仅适用于 IndividualB2CSingleOrg 未用于身份验证的情况。

  • -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 的默认值。

另请参阅