共用方式為


dotnet new 的 .NET 預設範本

當您安裝 .NET SDK 時,您會收到十多個用於建立專案和檔案的內建範本,包括主控台應用程式、類別庫、單元測試專案,ASP.NET Core 應用程式 (包括 AngularReact 專案) 和組態檔。 若要列出內建範本,請執行 dotnet new list 命令:

dotnet new list

下表顯示隨 .NET SDK 預先安裝的範本。 範本的預設語言會顯示在方括號內。 按一下簡短名稱連結即可查看特定範本選項。

範本 簡短名稱 語言 標籤 推出的版本
主控台應用程式 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 Forms (WinForms) 應用程式 winforms [C#]、VB 一般/WinForms 3.0 (VB 為 5.0)
Windows Forms (WinForms) 類別庫 winformslib [C#]、VB 一般/WinForms 3.0 (VB 為 5.0)
背景工作服務 worker [C#] 一般/背景工作/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 應用程式 (模型檢視控制器) mvc [C#]、F# Web/MVC 1.0
ASP.NET Core Web 應用程式 webapp, razor [C#] Web/MVC/Razor 頁面 2.2,、2.0
Razor 類別庫 razorclasslib [C#] Web/Razor/程式庫/Razor 類別庫 2.1
ASP.NET Core Web API webapi [C#]、F# Web/Web API/API/服務/WebAPI 1.0
ASP.NET Core API webapiaot [C#] Web/Web API/API/服務 8.0
ASP.NET Core API 控制器 apicontroller [C#] Web/ASP.NET 8.0
ASP.NET Core gRPC 服務 grpc [C#] Web/gRPC 3.0
dotnet gitignore 檔案 gitignore Config 3.0
global.json 檔案 globaljson Config 2.0
NuGet 組態 nugetconfig Config 1.0
Dotnet 本機工具資訊清單檔 tool-manifest Config 3.0
Web 組態 webconfig Config 1.0
方案檔 sln 解決方案 1.0
通訊協定緩衝區檔案 proto Web/gRPC 3.0
EditorConfig 檔案 editorconfig Config 6.0

下表顯示已停止且不再預安裝 .NET SDK 的範本。 按一下簡短名稱連結即可查看特定範本選項。

範本 簡短名稱 語言 標籤
ASP.NET Core 與 Angular angular [C#] Web/MVC/SPA 8.0
ASP.NET Core 與 React.js 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 就會變成可用,以此類推。 因此,即使在 .NET 6 SDK 中執行 dotnet new 時,您也可透過指定 --framework netcoreapp3.1 將 .NET Core 3.1 為視為目標。

    或者,若要建立以您先前使用的 SDK 作為目標架構的專案,您可以安裝範本的 NuGet 套件來執行此動作。 一般WebSPA 專案類型會針對每個目標 Framework Moniker (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.0net6.0 建立 .NET 類別庫,或netstandard2.1netstandard2.0建立 .NET 標準類別庫。 .NET SDK 8.0.x 的預設值為 net8.0

    若要建立目標為早於您所使用的 SDK 之架構的專案,請參閱--framework 了解本文稍早的 console 專案

  • --langVersion <VERSION_NUMBER>

    在建立的專案檔中設定 LangVersion 屬性。 例如,使用 --langVersion 7.3 可使用 C# 7.3。 不支援 F#。 自 .NET Core 2.2 SDK 起提供使用。

    如需預設 C# 版本的清單,請參閱預設值

  • --no-restore

    專案建立期間不執行隱含還原。


wpf、 、 wpflibwpfcustomcontrollibwpfusercontrollib

  • -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 之架構的專案,請參閱--framework 了解本文稍早的 console 專案

  • --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 就會變成可用,以此類推。 因此,即使在 .NET 6 SDK 中執行 dotnet new 時,您也可透過指定 --framework netcoreapp3.1 將 .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 - 涵蓋範圍工具。
  • --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 就會變成可用,以此類推。 因此,即使在 .NET 6 SDK 中執行 dotnet new 時,您也可透過指定 --framework netcoreapp3.1 將 .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 就會變成可用,以此類推。 因此,即使在 .NET 6 SDK 中執行 dotnet new 時,您也可透過指定 --framework netcoreapp3.1 將 .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>

    此專案的登入及註冊原則識別碼。 搭配 IndividualB2C 驗證使用。

  • -rp|--reset-password-policy-id <ID>

    此專案的重設密碼原則識別碼。 搭配 IndividualB2C 驗證使用。

  • -ep|--edit-profile-policy-id <ID>

    此專案的編輯設定檔原則識別碼。 搭配 IndividualB2C 驗證使用。

  • --aad-instance <INSTANCE>

    要連接的 Azure Active Directory 執行個體。 搭配 SingleOrgMultiOrg 驗證使用。 預設值是 https://login.microsoftonline.com/

  • --client-id <ID>

    此專案的用戶端識別碼。 搭配 IndividualB2CSingleOrgMultiOrg 驗證使用。 預設值是 11111111-1111-1111-11111111111111111

  • --domain <DOMAIN>

    目錄租用戶的網域。 搭配 SingleOrgIndividualB2C 驗證使用。 預設值是 qualified.domain.name

  • --tenant-id <ID>

    要連接的目錄 TenantId 識別碼。 搭配 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。 此選項僅適用於未針對 --auth 使用 IndividualIndividualB2CSingleOrgMultiOrg 時。

  • -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 之架構的專案,請參閱--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>

    此專案的登入及註冊原則識別碼。 搭配 IndividualB2C 驗證使用。

  • --aad-instance <INSTANCE>

    要連接的 Azure Active Directory 執行個體。 搭配 SingleOrg 驗證使用。 預設值是 https://login.microsoftonline.com/

  • --client-id <ID>

    此專案的用戶端識別碼。 在獨立案例中搭配 IndividualB2CSingleOrgIndividual 驗證使用。 預設值是 33333333-3333-3333-33333333333333333

  • --domain <DOMAIN>

    目錄租用戶的網域。 搭配 SingleOrgIndividualB2C 驗證使用。 預設值是 qualified.domain.name

  • --app-id-uri <URI>

    想要呼叫伺服器 API 的應用程式識別碼 URI。 搭配 SingleOrgIndividualB2C 驗證使用。 預設值是 api.id.uri

  • --api-client-id <ID>

    伺服器裝載 API 的用戶端識別碼。 搭配 SingleOrgIndividualB2C 驗證使用。 預設值是 11111111-1111-1111-11111111111111111

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

    用戶端要求佈建存取權杖的 API 範圍。 搭配 SingleOrgIndividualB2C 驗證使用。 預設值是 user_impersonation

  • --tenant-id <ID>

    要連接的目錄 TenantId 識別碼。 搭配 SingleOrg 驗證使用。 預設值是 22222222-2222-2222-2222-222222222222

  • -r|--org-read-access

    允許此應用程式對目錄的讀取權限。 僅適用於 SingleOrg 驗證。

  • --exclude-launch-settings

    從產生的範本中排除 launchSettings.json

  • -p|--pwa

    會產生漸進式 Web 應用程式 (PWA) 支援安裝和離線使用。

  • --no-https

    關閉 HTTPS。 此選項僅適用於未針對 --auth 使用 IndividualIndividualB2CSingleOrg 時。

  • -uld|--use-local-db

    指定應該使用 LocalDB,不使用 SQLite。 僅適用於 IndividualIndividualB2C 驗證。

  • --called-api-url <URL>

    要從 Web 應用程式呼叫 API 的 URL。 僅適用於 SingleOrgIndividualB2C 驗證,但未指定 ASP.NET Core主機。 預設值是 https://graph.microsoft.com/v1.0/me

  • --calls-graph

    指定 Web 應用程式是否呼叫 Microsoft Graph。 僅適用於 SingleOrg 驗證。

  • --called-api-scopes <SCOPES>

    要求從 Web 應用程式呼叫 API 的範圍。 僅適用於 SingleOrgIndividualB2C 驗證,但未指定 ASP.NET Core主機。 預設值為 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 之架構的專案,請參閱--framework 了解本文稍早的 console 專案

  • --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>

    此專案的登入及註冊原則識別碼。 搭配 IndividualB2C 驗證使用。

  • -rp|--reset-password-policy-id <ID>

    此專案的重設密碼原則識別碼。 搭配 IndividualB2C 驗證使用。

  • -ep|--edit-profile-policy-id <ID>

    此專案的編輯設定檔原則識別碼。 搭配 IndividualB2C 驗證使用。

  • --aad-instance <INSTANCE>

    要連接的 Azure Active Directory 執行個體。 搭配 SingleOrgMultiOrg 驗證使用。 預設值是 https://login.microsoftonline.com/

  • --client-id <ID>

    此專案的用戶端識別碼。 搭配 IndividualB2CSingleOrgMultiOrg 驗證使用。 預設值是 11111111-1111-1111-11111111111111111

  • --domain <DOMAIN>

    目錄租用戶的網域。 搭配 SingleOrgIndividualB2C 驗證使用。 預設值是 qualified.domain.name

  • --tenant-id <ID>

    要連接的目錄 TenantId 識別碼。 搭配 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 之架構的專案,請參閱--framework 了解本文稍早的 console 專案

  • --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 之架構的專案,請參閱--framework 了解本文稍早的 console 專案

  • --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>

    此專案的登入及註冊原則識別碼。 搭配 IndividualB2C 驗證使用。

  • --aad-instance <INSTANCE>

    要連接的 Azure Active Directory 執行個體。 搭配 SingleOrg 驗證使用。 預設值是 https://login.microsoftonline.com/

  • --client-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 識別碼。 搭配 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 之架構的專案,請參閱--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 的預設值。

另請參閱