此文章適用於:✔️ .NET 6 SDK 與更新版本
名稱
dotnet new - 根據指定的範本建立新的專案、組態檔或方案。
概要
dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
[-n|--name <OUTPUT_NAME>] [-f|--framework <FRAMEWORK>] [--no-update-check]
[-o|--output <OUTPUT_DIRECTORY>] [--project <PROJECT_PATH>]
[-d|--diagnostics] [--verbosity <LEVEL>] [Template options]
dotnet new -h|--help
描述
dotnet new 命令會根據範本建立 .NET 專案或其他成品。
命令會呼叫範本引擎,以根據指定的範本和選項在磁碟上建立成品。
注意
自 .NET 7 SDK 起,dotnet new 語法進行了下列變更:
-
--list、--search、--install與--uninstall選項變成list、search、install與uninstall子命令。 -
--update-apply選項變成了update子命令。 - 如要使用
--update-check,請搭配使用update子命令和--check-only選項。
先前版本中可用的其他選項仍可與各自的子命令搭配使用。
如需每項子命令的個別說明,可透過 -h 或 --help 選項取得:dotnet new <subcommand> --help 會列出子命令的所有支援選項。
此外,dotnet new 現可使用 TAB 鍵自動完成。 這項功能支援完成已安裝範本的名稱,以及所選範本提供的選項。
若要為 .NET SDK 啟用 TAB 鍵自動完成,請參閱啟用 TAB 鍵自動完成。
Tab 鍵自動完成
自 .NET SDK 7.0.100 起,dotnet new 可使用 TAB 鍵自動完成。 不僅支援完成已安裝範本的名稱,也支援完成所選範本提供的選項。
若要為 .NET SDK 啟用 TAB 鍵自動完成,請參閱啟用 TAB 鍵自動完成。
隱含還原
您不必執行 dotnet restore,因為其會由需要進行還原的所有命令隱含執行,例如 dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish 和 dotnet pack。 若要停用隱含還原,請使用 --no-restore 選項。
dotnet restore 命令在適合進行明確還原的特定案例中仍可派上用場,例如 Azure DevOps Services 中的持續整合組建,或在需要明確控制何時進行還原的組建系統中。
如需了解如何管理 NuGet 摘要,請參閱 dotnet restore 文件。
引數
TEMPLATE要在叫用命令時具現化的範本。 每個範本可能會有您可以傳遞的特定選項。 如需詳細資訊,請參閱範本選項。
您可以執行
dotnet new list以查看所有已安裝範本的清單。該
search命令 應用於搜索 NuGet.org 中的模板。如需 .NET SDK 隨附的範本清單,請參閱預先 安裝的範本。
選項
--dry-run若指定的命令會導致建立範本,則顯示執行時會發生的情況摘要。
--force強制產生內容,即使它會變更現有的檔案。 若選擇的範本會覆寫輸出目錄中的現有檔案,就必須這麼做。
-?|-h|--help印出命令的說明。 可以為
dotnet new命令本身或任何範本叫用。 例如:dotnet new mvc --help。-lang|--language {C#|F#|VB}要建立的範本語言。 接受的語言會因範本而有所不同 (請參閱引數一節中的預設值)。 並非所有範本都適用。
注意
某些殼層會將
#解譯為特殊字元。 在這些情況下,請用引號括住語言參數值。 例如:dotnet new console -lang "F#"。-n|--name <OUTPUT_NAME>所建立輸出的名稱。 如果未指定名稱,則會使用目前目錄的名稱。
-f|--framework <FRAMEWORK>指定目標 Framework。 預期為目標 Framework Moniker (TFM)。 範例:「net6.0」、「net7.0-macos」。 此值會顯示在專案檔中。
-no-update-check停用在具現化範本時檢查範本套件更新的功能。 自 .NET SDK 6.0.100 起提供使用。 使用
dotnet new --install安裝的範本套件中的範本具現化時,dotnet new會檢查該範本是否有更新。 自 .NET 6 起,不會再對 .NET 預設範本進行更新檢查。 若要更新 .NET 預設範本,請安裝 .NET SDK 的修補檔版本。-o|--output <OUTPUT_DIRECTORY>放置所產生輸出的位置。 預設值是目前的目錄。
--project <PROJECT_PATH>新增範本的專案。 此專案用於內容評估。 在未指定的情況下,會使用目前或上層目錄中的專案。 自 .NET SDK 7.0.100 起提供使用。
-d|--diagnostics啟用診斷輸出。 自 .NET SDK 7.0.100 起提供使用。
-v|--verbosity <LEVEL>設定命令的詳細資訊層級。 允許的值為
q[uiet]、m[inimal]、n[ormal]和diag[nostic]。 自 .NET SDK 7.0.100 起提供使用。
範本選項
各個範本可能還會有其他定義的選項。 如需詳細資訊,請參閱 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 版本設定為 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature顯示 C# 主控台應用程式範本的說明:
dotnet new console -h顯示 F# 主控台應用程式範本的說明:
dotnet new console --language "F#" -h