默认模板
安装 .NET SDK 时,将收到十多个用于创建项目和文件的内置模板,包括控制台应用、类库、单元测试项目、ASP.NET Core 应用(包括 Angular 和 React 项目)和配置文件。 若要列出内置模板,请运行 dotnet new list 命令:
dotnet new list
模板选项
随 .NET SDK 一起随附的模板具有特定于模板的选项。 若要显示可用于模板的其他选项,--help请使用带有模板名称参数的选项,例如: dotnet new console --help 本文中特定于模板的部分还介绍了这些选项。
如果模板支持多种编程语言,则 --help 此选项将以默认语言显示模板的帮助。 通过将其与 --language 选项结合使用,可以查看其他语言的帮助:dotnet new console --help --language F#。
预安装的模板
下表显示了预安装了 .NET SDK 的模板。 模板的默认语言显示在括号内。 若要查看任何特定于模板的选项,请选择短名称链接。
| 模板 | 短名称 | 语言 | Tags | 已引入 |
|---|---|---|---|---|
| ASP.NET 核心 API | webapiaot |
[C#] | Web/Web API/API/Service | 8.0 |
| ASP.NET 核心 API 控制器 | apicontroller |
[C#] | Web/ASP.NET | 8.0 |
| ASP.NET Core 空 | web |
[C#],F# | Web/空 | 1.0 |
| ASP.NET 核心 Web API | webapi |
[C#],F# | Web/Web API/API/Service/WebAPI | 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 页面 | 2.2、2.0 |
| ASP.NET Core gRPC 服务 | grpc |
[C#] | Web/gRPC | 3.0 |
| Blazor Web 应用 | blazor |
[C#] | 蹼/Blazor | 8.0.100 |
| Blazor WebAssembly 独立应用 | blazorwasm |
[C#] | Web/Blazor//WebAssemblyPWA | 3.1.300 |
| 类库 | classlib |
[C#]、F#、VB | 常用/库 | 1.0 |
| 控制台应用程序 | console |
[C#]、F#、VB | 常用/控制台 | 1.0 |
| Directory.Build.props 文件 | buildprops |
配置 | 8.0.100 | |
| Directory.Build.targets 文件 | buildtargets |
配置 | 8.0.100 | |
| Dotnet 本地工具清单文件 | tool-manifest |
配置 | 3.0 | |
| EditorConfig 文件 | editorconfig |
配置 | 6.0 | |
| global.json 文件 | globaljson |
配置 | 2.0 | |
| MSTest 测试类 | mstest-class |
[C#]、F#、VB | 测试/MSTest | 1.0 |
| MSTest 测试项目 | mstest |
[C#]、F#、VB | 测试/MSTest | 1.0 |
| NUnit 3 测试项 | nunit-test |
[C#]、F#、VB | 测试/NUnit | 2.2 |
| NUnit 3 测试项目 | nunit |
[C#]、F#、VB | 测试/NUnit | 2.1.400 |
| NuGet 配置 | nugetconfig |
配置 | 1.0 | |
| 协议缓冲区文件 | proto |
Web/gRPC | 3.0 | |
| Razor 类库 | razorclasslib |
[C#] | Web/Razor/库/Razor 类库 | 2.1 |
| Razor 组件 | razorcomponent |
[C#] | Web/ASP.NET | 3.0 |
| Razor 页 | page |
[C#] | Web/ASP.NET | 2.0 |
| 解决方案文件 | sln |
解决方案 | 1.0 | |
| Web 配置 | webconfig |
配置 | 1.0 | |
| Windows 窗体 (WinForms) 应用程序 | winforms |
[C#]、VB | 常用/WinForms | 3.0(对于 VB,则为 5.0) |
| Windows 窗体 (WinForms) 类库 | winformslib |
[C#]、VB | 常用/WinForms | 3.0(对于 VB,则为 5.0) |
| 辅助角色服务 | worker |
[C#] | 常用/Worker/Web | 3.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) |
| xUnit 测试项目 | xunit |
[C#]、F#、VB | 测试/xUnit | 1.0 |
| MVC ViewImports | viewimports |
[C#] | Web/ASP.NET | 2.0 |
| MVC ViewStart | viewstart |
[C#] | Web/ASP.NET | 2.0 |
buildprops
创建 Directory.Build.props 文件以自定义整个文件夹树的 MSBuild 属性。 有关详细信息,请参阅 自定义生成。
--inherit如果指定,请为父目录层次结构中最近的 Directory.Build.props 文件添加 Import 元素。 默认情况下, Directory.Build.props 文件不继承自父目录,因此启用此选项可以生成自定义文件夹文件夹层次结构。
--use-artifacts如果指定,请添加属性以启用项目输出布局。 这是生成生成项目(如 NuGet 包)的常见模式,这些项目放置在公共文件夹结构中。 有关详细信息,请参阅 Artifacts 输出布局。
buildtargets
创建一个 Directory.Build.targets 文件,用于自定义整个文件夹树的 MSBuild 目标和任务。 有关详细信息,请参阅 自定义生成。
--inherit如果指定,则为父目录层次结构中最近的 Directory.Build.targets 文件添加 Import 元素。 默认情况下, Directory.Build.targets 文件不会继承自父目录,因此启用此选项可以生成自定义文件夹文件夹层次结构。
console
-f|--framework <FRAMEWORK>指定目标框架。
下表根据所使用的 SDK 版本列出了默认值:
SDK 版本 默认值 9.0 net9.08.0 net8.07.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.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.08.0 net8.07.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.08.0 net8.07.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.08.0 net8.07.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。
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方法,而不是顶级语句。
web
--exclude-launch-settings从生成的模板中排除 launchSettings.json。
-f|--framework <FRAMEWORK>指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.08.0 net8.07.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>指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.08.0 net8.07.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。
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.08.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) 支持。
AddOpenApi且MapOpenApi不调用。--no-https关闭 HTTPS。 不在 中创建任何 https 启动配置文件。 不在 Program.cs
app.UseHstsStartup.cs 中调用app.UseHttpsRedirection和 。 此选项仅适用于IndividualB2C或SingleOrg未用于身份验证的情况。-uld|--use-local-db指定应使用 LocalDB,而不使用 SQLite。 仅适用于
IndividualB2C身份验证。-f|--framework <FRAMEWORK>指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.08.0 net8.07.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。
--test-runner <TEST_RUNNER>此选项是在 .NET 10 SDK 中引入的,并指定要使用的测试运行程序(VSTest 或 Microsoft.Testing.Platform)。 默认值为 VSTest。
sln
创建一个包含无项目的空解决方案文件。
注意
在 .NET SDK 9.0.200 及更高版本中,此模板支持选择--format和sln格式的选项slnx。 从 .NET 10 开始,默认格式为 slnx。
editorconfig
创建用于配置代码样式首选项的 .editorconfig 文件。
--empty创建空的 .editorconfig 而非 .NET 的默认值。
已停用的模板
下表显示了已停用且不再预安装 .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#] | 蹼/Blazor | 8.0 |
| Blazor 服务器应用空 | blazorserver-empty |
[C#] | 蹼/Blazor | 8.0 |
| Blazor WebAssembly 应用空 | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
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身份验证。-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。
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。
blazorwasm
-f|--framework <FRAMEWORK>指定目标框架。
下表根据所使用的 SDK 版本号列出了默认值:
SDK 版本 默认值 9.0 net9.08.0 net8.07.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。