dotnet new

本主題適用於: ✓ .NET Core 1.x .NET Core 2.x

name

dotnet new - 根據指定的範本建立新的專案、組態檔或方案。

概要

dotnet new <TEMPLATE> [--force] [-i|--install] [-lang|--language] [-n|--name] [-o|--output] [-u|--uninstall] [Template options]
dotnet new <TEMPLATE> [-l|--list] [--type]
dotnet new [-h|--help]

說明

dotnet new 命令提供便利的方式來初始化有效的 .NET Core 專案。

命令會呼叫範本引擎,以根據指定的範本和選項在磁碟上建立成品。

引數

TEMPLATE

要在叫用命令時具現化的範本。 每個範本可能會有您可以傳遞的特定選項。 如需詳細資訊,請參閱範本選項

此命令包含預設的範本清單。 使用 dotnet new -l 以取得可用範本的清單。 下表顯示隨 .NET Core 2.0 SDK 預先安裝的範本。 範本的預設語言會顯示在方括號內。

範本描述 範本名稱 語言
主控台應用程式 主控台 [C#], F#, VB
類別庫 classlib [C#], F#, VB
單元測試專案 mstest [C#], F#, VB
xUnit 測試專案 xunit [C#], F#, VB
空的 ASP.NET Core web [C#]、F#
ASP.NET Core Web 應用程式 (模型檢視控制器) mvc [C#]、F#
ASP.NET Core Web 應用程式 razor [C#]
ASP.NET Core 與 Angular angular [C#]
ASP.NET Core 與 React.js react [C#]
ASP.NET Core 與 React.js 和 Redux reactredux [C#]
ASP.NET Core Web API webapi [C#]、F#
global.json 檔案 globaljson
Nuget 組態 nugetconfig
Web 組態 webconfig
方案檔 sln
Razor 頁面 頁面
MVC/ViewImports viewimports
MVC ViewStart viewstart

選項

--force

強制產生內容,即使它會變更現有的檔案。 當輸出目錄中已包含專案時,這是必要選項。

-h|--help

印出命令的說明。 可針對 dotnet new 命令本身或任何範本 (例如 dotnet new mvc --help) 叫用。

-i|--install <PATH|NUGET_ID>

安裝 PATHNUGET_ID 提供的來源或範本套件。 如需建立自訂範本的資訊,請參閱 dotnet new的自訂範本

-l|--list

列出包含指定名稱的範本。 如果針對 dotnet new 命令叫用,則會列出指定目錄可能可用的範本。 例如,如果目錄中已包含專案,則不會列出所有專案範本。

-lang|--language {C#|F#|VB}

要建立的範本語言。 接受的語言會因範本而有所不同 (請參閱引數一節中的預設值)。 並非所有範本都適用。

-n|--name <OUTPUT_NAME>

所建立輸出的名稱。 如果未指定名稱,則會使用目前目錄的名稱。

-o|--output <OUTPUT_DIRECTORY>

放置所產生輸出的位置。 預設為目前的目錄。

--type

根據可用的類型篩選範本。 預先定義的值為「專案」、「項目」或「其他」。

-u|--uninstall <PATH|NUGET_ID>

解除安裝 PATHNUGET_ID 提供的來源或範本套件。

注意

若要使用 PATH 將範本解除安裝,您需要使路徑成為完整路徑。 例如,C:/Users/<USER>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp 將有效,但來自包含資料夾的 ./GarciaSoftware.ConsoleTemplate.CSharp 將無效。 此外,請勿在範本路徑中包含最終結尾目錄斜線。

範本選項

每個專案範本都可能會有其他可用的選項。 核心範本有下列額外選項:

主控台, angular, react, reactredux

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

classlib

-f|--framework <FRAMEWORK> - 指定要當成目標的架構。 值:netcoreapp2.0 建立 .NET Core 類別庫或 netstandard2.0 建立 .NET Standard 類別庫。 預設值是 netstandard2.0

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

mstest, xunit

-p|--enable-pack - 使用 dotnet pack 封裝專案。

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

globaljson

--sdk-version <VERSION_NUMBER> - 指定要在 global.json 檔案中使用的 .NET Core SDK 版本。

web

--use-launch-settings - 在產生的範本輸出中包含 launchSettings.json

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

webapi

-au|--auth <AUTHENTICATION_TYPE> - 要使用的驗證類型。 可能值為:

  • None - 無驗證 (預設值)。
  • IndividualB2C - 使用 Azure AD B2C 的個別驗證。
  • SingleOrg - 單一租用戶的組織驗證。
  • Windows - Windows 驗證。

--aad-b2c-instance <INSTANCE> - 要連接的 Azure Active Directory B2C 執行個體。 搭配 IndividualB2C 驗證使用。 預設值是 https://login.microsoftonline.com/tfp/

-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

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

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

-r|--org-read-access - 允許此應用程式對目錄的讀取權限。 僅適用於 SingleOrgMultiOrg 驗證。

--use-launch-settings - 在產生的範本輸出中包含 launchSettings.json

-uld|--use-local-db - 指定應該使用 LocalDB,不使用 SQLite。 僅適用於 IndividualIndividualB2C 驗證。

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

mvc, razor

-au|--auth <AUTHENTICATION_TYPE> - 要使用的驗證類型。 可能值為:

  • None - 無驗證 (預設值)。
  • Individual - 個別驗證。
  • IndividualB2C - 使用 Azure AD B2C 的個別驗證。
  • 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 驗證。

--use-launch-settings - 在產生的範本輸出中包含 launchSettings.json

--use-browserlink - 專案中包含 BrowserLink。

-uld|--use-local-db - 指定應該使用 LocalDB,不使用 SQLite。 僅適用於 IndividualIndividualB2C 驗證。

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

PAGE

-na|--namespace <NAMESPACE_NAME> - 所產生程式碼的命名空間。 預設值是 MyApp.Namespace

-np|--no-pagemodel - 不使用 PageModel 建立頁面。

viewimports

-na|--namespace <NAMESPACE_NAME> - 所產生程式碼的命名空間。 預設值是 MyApp.Namespace

範例

在目前的目錄中建立 F# 主控台應用程式專案:

dotnet new console -lang f#

在指定的目錄中建立 .NET Standard 類別庫專案 (僅 .NET Core 2.0 SDK 或更新版本提供):

dotnet new classlib -lang VB -o MyLibrary

未經驗證即在目前的目錄中,建立以 .NET Core 2.0 為目標的新 ASP.NET Core C# MVC 應用程式專案:

dotnet new mvc -au None -f netcoreapp2.0

建立以 .NET Core 2.0 為目標的新 xUnit 應用程式:

dotnet new xunit --framework netcoreapp2.0

列出 MVC 可用的所有範本:

dotnet new mvc -l

另請參閱

dotnet new 的自訂範本
建立適用於 dotnet new 的自訂範本
dotnet/dotnet-template-samples GitHub repo (dotnet/dotnet-template-samples GitHub 存放庫)
dotnet new 的可用範本