跳至主要内容

🛰 dotnet CLI 概觀

什麼是 dotnet CLI

dotnet CLI (Command Line Interface) 是一個跨平台的命令列工具,允許開發者使用命令列來建立、編譯、運行及發布 .NET 應用程式

基本概念

dotnet CLI 的優勢

  • 跨平台:dotnet CLI 可以在 Windows、macOS 和 Linux 上運行
  • 輕量且高效:通過命令列進行開發,可以減少對 IDE 的依賴
  • 自動化:能夠輕鬆地整合到 CI/CD 管道中,支持自動化的構建和部署流程
  • 模組化:支持不同的 SDK 和工具,可以根據需求擴展功能

常用命令

初始化與建立專案

  • dotnet new:建立新的 .NET 專案或文件

    dotnet new console -n MyConsoleApp
  • 查詢可以使用的範本

    dotnet new list

此命令將建立一個名為 MyConsoleApp 的新的控制台應用程式

恢復依賴項

  • dotnet restore:恢復專案所需的 NuGet 套件

    dotnet restore

構建專案

  • dotnet build:編譯專案並生成組件

    dotnet build

執行應用程式

  • dotnet run:編譯並運行應用程式

    dotnet run

發布應用程式

  • dotnet publish:發布應用程式以供部署

    dotnet publish -c Release -o ./publish

此命令將在 Release 配置下發布應用程式並將其輸出到 ./publish 目錄中

dotnet CLI 的常見應用場景

開發和測試

開發者可以使用 dotnet new 命令快速建立新的應用程式專案

並使用 dotnet run 命令在本地進行測試

dotnet test 命令可以用來運行單元測試,確保代碼質量

CI/CD

在持續整合和持續部署 (CI/CD) 管道中,dotnet CLI 可以用來自動化構建、測試和部署流程

常用的命令如 dotnet builddotnet testdotnet publish 等,都可以整合到 CI/CD 腳本中

部署

使用 dotnet publish 命令可以生成適合於部署的應用程式包,並可選擇不同的目標框架和運行時

這些發布包可以部署到各種環境,如雲端服務器、容器和本地伺服器等

常用指令集

指令說明範例
dotnet new建立新的 .NET 專案或文件dotnet new console -n MyConsoleApp
dotnet new list列出所有可用的模板dotnet new list
dotnet restore恢復專案所需的 NuGet 套件dotnet restore
dotnet build編譯專案並生成組件dotnet build
dotnet run編譯並運行應用程式dotnet run
dotnet publish發布應用程式以供部署dotnet publish -c Release -o ./publish
dotnet test執行單元測試dotnet test
dotnet clean清理專案生成的中間文件dotnet clean
dotnet pack建立 NuGet 套件dotnet pack -c Release -o ./nupkgs
dotnet add package向專案中新增 NuGet 套件dotnet add package Newtonsoft.Json
dotnet remove package從專案中移除 NuGet 套件dotnet remove package Newtonsoft.Json
dotnet list package列出專案中使用的所有 NuGet 套件dotnet list package
dotnet --version顯示已安裝的 .NET SDK 版本dotnet --version
dotnet tool install安裝 .NET 全域工具dotnet tool install -g dotnet-ef
dotnet tool update更新 .NET 全域工具dotnet tool update -g dotnet-ef
dotnet tool uninstall移除 .NET 全域工具dotnet tool uninstall -g dotnet-ef
dotnet sln管理 .NET 解決方案dotnet sln add MyProject/MyProject.csproj
dotnet migrate將專案從 project.json 轉換為 .csprojdotnet migrate
dotnet nuget管理 NuGet 組件dotnet nuget push MyPackage.nupkg -k MyKey
dotnet publish發布應用程式以供部署dotnet publish -c Release -o ./publish
dotnet watch自動重建和運行應用程式dotnet watch run
dotnet dev-certs管理開發用的 HTTPS 憑證dotnet dev-certs https --trust
dotnet ef使用 Entity Framework Core 的命令列工具dotnet ef migrations add InitialCreate

參考