dotnet new < TEMPLATE>

本文適用于: ✔️.NET Core 3.1 SDK 和更新版本

名稱

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

概要

dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
    [-n|--name <OUTPUT_NAME>] [--no-update-check] [-o|--output <OUTPUT_DIRECTORY>] [Template options]

dotnet new -h|--help

Description

dotnet new此命令會根據範本建立 .NET 專案或其他成品。

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

注意

從 .NET SDK 7.0.100 Preview 2 開始,語法 dotnet new 已變更:

  • --list--search--install--uninstall 選項變成 listinstallsearchuninstall 子命令。
  • 選項 --update-apply 變成 update 子命令。
  • 若要使用 --update-check ,請使用 update 子命令搭配 --check 選項。

之前可用的其他選項仍可搭配其各自的子命令使用。 每個子命令的個別說明可透過 -h--help 選項取得: dotnet new <subcommand> --help 列出子命令的所有支援選項。

此外,索引標籤完成現在可供 dotnet new 使用。 它支援完成已安裝的範本名稱,以及所選範本提供的選項完成。 若要啟用 .NET SDK 的索引標籤完成,請參閱 啟用索引標籤完成

隱含還原

您不需要執行 dotnet restore ,因為所有需要還原的命令都會隱含地執行,例如 dotnet newdotnet build 、、 dotnet rundotnet testdotnet publish 、 和 dotnet pack 。 若要停用隱含還原,請使用 --no-restore 選項。

dotnet restore在明確還原的某些案例中,此命令仍然很有用,例如在Azure DevOps Services中持續整合組建,或在需要明確控制還原何時發生的組建系統中。

如需如何管理NuGet摘要的相關資訊,請參閱dotnet restore

引數

  • TEMPLATE

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

    您可以執行 dotnet new --list 以查看所有已安裝範本的清單。

    從 .NET Core 3.0 SDK 開始,並以 .NET Core 5.0.300 SDK 結尾,當您在下列情況下叫 dotnet new 用 命令時,CLI 會在 NuGet.org 中搜尋範本:

    • 如果 CLI 在叫 dotnet new 用 時找不到範本相符專案,甚至找不到部分。
    • 如果有較新版本的範本可用。 在此情況下,會建立專案或成品,但 CLI 會警告您範本的更新版本。

    從 .NET Core 5.0.300 SDK 開始,--search 此選項應該用來搜尋 NuGet.org.中的範本。

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

範本 簡短名稱 語言 標籤 推出的版本
主控台應用程式 console [C#], F#, VB 通用/主控台 1.0
類別庫 classlib [C#], F#, VB 通用/程式庫 1.0
WPF 應用程式 wpf [C#], VB 一般/WPF 3.0 (5.0 for VB)
WPF 類別庫 wpflib [C#], VB 一般/WPF 3.0 (5.0 for VB)
WPF 自訂控制項程式庫 wpfcustomcontrollib [C#], VB 一般/WPF 3.0 (5.0 for VB)
WPF 使用者控制項程式庫 wpfusercontrollib [C#], VB 一般/WPF 3.0 (5.0 for VB)
Windows Forms (WinForms) 應用程式 winforms [C#], VB Common/WinForms 3.0 (5.0 for VB)
Windows Forms (WinForms) 類別庫 winformslib [C#], VB Common/WinForms 3.0 (5.0 for VB)
背景工作服務 worker [C#] 一般/背景工作/Web 3.0
單元測試專案 mstest [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 伺服器應用程式 blazorserver [C#] Web/Blazor 3.0
BlazorWebAssembly 應用程式 blazorwasm [C#] Web/ Blazor /WebAssembly 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
ASP.NET Core 與 Angular angular [C#] Web/MVC/SPA 2.0
ASP.NET Core 與 React.js react [C#] Web/MVC/SPA 2.0
ASP.NET Core 與 React.js 和 Redux reactredux [C#] Web/MVC/SPA 2.0
Razor 類別庫 razorclasslib [C#] Web/Razor/程式庫/Razor 類別庫 2.1
ASP.NET Core Web API webapi [C#]、F# Web/WebAPI 1.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

選項

  • --dry-run

    若指定的命令會導致建立範本,則顯示執行時會發生的情況摘要。 自 .NET Core 2.2 SDK 起提供。

  • --force

    強制產生內容,即使它會變更現有的檔案。 當選擇的範本會覆寫輸出目錄中的現有檔案時,就需要這麼做。

  • -?|-h|--help

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

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

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

    注意

    某些 Shell 會將 # 解譯為特殊字元。 在這些情況下,請以引號括住語言參數值。 例如: dotnet new console -lang "F#"

  • -n|--name <OUTPUT_NAME>

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

  • -no-update-check

    停用具現化範本時檢查範本套件更新。 自 .NET 6.0.100 SDK 起提供。 從使用 dotnet new --install 安裝的範本套件具現化範本時, dotnet new 會檢查範本是否有更新。 從 .NET 6 開始,不會對 .NET 預設範本進行更新檢查。 若要更新 .NET 預設範本,請安裝 .NET SDK 的修補程式版本。

  • -o|--output <OUTPUT_DIRECTORY>

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

範本選項

每個範本可能會定義其他選項。 如需詳細資訊,請參閱dotnet new .NET 預設範本

範例

  • 建立 C# 主控台應用程式專案:

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

    dotnet new console --language "F#"
    
  • 在指定的目錄中建立 .NET Standard 2.0 類別庫專案:

    dotnet new classlib --framework "netstandard2.0" -o MyLibrary
    
  • 未經驗證即在目前目錄中建立新的 ASP.NET Core C# MVC 專案:

    dotnet new mvc -au None
    
  • 建立新的 xUnit 專案:

    dotnet new xunit
    
  • 在目前目錄中建立 global.json ,將 SDK 版本設定為 3.1.101:

    dotnet new globaljson --sdk-version 3.1.101
    
  • 顯示 C# 主控台應用程式範本的說明:

    dotnet new console -h
    
  • 顯示 F# 主控台應用程式範本的說明:

    dotnet new console --language "F#" -h
    

另請參閱