dotnet new

本文 適用于: ✔️ .net CORE 2.0 SDK 和更新版本

名稱

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

概要

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

dotnet new -h|--help

描述

dotnet new 命令會建立以範本為基礎的 .net 專案或其他成品。

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

隱含還原

您不必執行, dotnet restore 因為它是由所有需要進行還原的命令(例如 dotnet newdotnet builddotnet run 、、 dotnet test dotnet publishdotnet 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 中的範本:

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

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

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

範本 簡短名稱 Language 標籤 推出的版本
主控台應用程式 console [C#], F#, VB 通用/主控台 1.0
類別庫 classlib [C#], F#, VB 通用/程式庫 1.0
WPF 應用程式 wpf [C #],VB Common/WPF 適用于 VB) 的 3.0 (5。0
WPF 類別庫 wpflib [C #],VB Common/WPF 適用于 VB) 的 3.0 (5。0
WPF 自訂控制項程式庫 wpfcustomcontrollib [C #],VB Common/WPF 適用于 VB) 的 3.0 (5。0
WPF 使用者控制項程式庫 wpfusercontrollib [C #],VB Common/WPF 適用于 VB) 的 3.0 (5。0
Windows表單 (WinForms) 應用程式 winforms [C #],VB Common/WinForms 適用于 VB) 的 3.0 (5。0
Windows表單 (WinForms) 類別庫 winformslib [C #],VB Common/WinForms 適用于 VB) 的 3.0 (5。0
背景工作服務 worker [C#] Common/Worker/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#] WebBlazor 3.0
BlazorWebAssembly應用程式 blazorwasm [C#] WebBlazor/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

選項

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

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

  • -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.asax ,以將 SDK 版本設定為3.1.101:

    dotnet new globaljson --sdk-version 3.1.101
    

另請參閱