dotnet 命令

本文適用於: ✔️ .NET Core 3.1 SDK 與更新版本

名稱

dotnet - .NET CLI 的泛型驅動程式。

概要

取得可用命令和環境的相關資訊:

dotnet [--version] [--info] [--list-runtimes] [--list-sdks]

dotnet -h|--help

執行命令 (需要安裝 SDK):

dotnet <COMMAND> [-d|--diagnostics] [-h|--help] [--verbosity <LEVEL>]
    [command-options] [arguments]

執行應用程式:

dotnet [--additionalprobingpath <PATH>] [--additional-deps <PATH>]
    [--fx-version <VERSION>]  [--roll-forward <SETTING>]
    <PATH_TO_APPLICATION> [arguments]

dotnet exec [--additionalprobingpath] [--additional-deps <PATH>]
    [--depsfile <PATH>]
    [--fx-version <VERSION>]  [--roll-forward <SETTING>]
    [--runtimeconfig <PATH>]
    <PATH_TO_APPLICATION> [arguments]

描述

dotnet 命令有兩個功能:

  • 其提供使用 .NET 專案的命令。

    例如,dotnet build 可建置專案。 每個命令都會定義自己的選項和引數。 所有命令都支援 --help 選項,可列印命令使用方式的簡短文件。

  • 其會執行 .NET 應用程式。

    您指定了應用程式 .dll 檔案的路徑,以執行應用程式。 執行應用程式代表要找到並執行進入點,以主控台應用程式而言,則會是 Main 方法。 例如,dotnet myapp.dll 會執行 myapp 應用程式。 如要了解部署選項,請參閱 .NET 應用程式部署

選項。

您可以使用不同的選項來:

  • 顯示環境的相關資訊。
  • 執行命令。
  • 執行應用程式。

用於顯示環境資訊及可用命令的選項

dotnet 使用自己本身,而未指定要執行的命令或應用程式時,即可使用下列選項。 例如,dotnet --infodotnet --version。 這些命令可列印環境的相關資訊。

  • --info

    列印 .NET 安裝及機器環境的詳細資訊,例如目前的作業系統,以及 .NET 版本的認可 SHA。

  • --version

列印 dotnet 命令所使用的 .NET SDK 版本,這可能會受到 global.json 檔案的影響。 必須安裝 SDK 才能使用。

  • --list-runtimes

    列印已安裝的 .NET 執行階段清單。 x86 版本的 SDK 只會列出 x86 執行階段,而 x64 版本的 SDK 只會列出 x64 執行階段。

  • --list-sdks

    列印已安裝的 .NET SDK 清單。

  • -?|-h|--help

    列印可用命令的清單。

用於執行命令的選項

搭配使用 dotnet 與命令時有下列選項。 例如,dotnet build --helpdotnet build --verbosity diagnostic

  • -d|--diagnostics

    啟用診斷輸出。

  • -v|--verbosity <LEVEL>

    設定命令的詳細資訊層級。 允許的值為 q[uiet]m[inimal]n[ormal]d[etailed]diag[nostic]。 並非所有命令都支援此選項。 如要判斷是否可使用此選項,請參閱特定命令的頁面。

  • -?|-h|--help

    列印指定命令的文件。 例如,dotnet build --help 會顯示 build 命令的說明。

  • command options

    每個命令都會定義該命令專屬的選項。 如需可用選項的清單,請參閱特定命令的頁面。

用於執行應用程式的選項

dotnet 執行應用程式時,可使用下列選項。 例如: dotnet --roll-forward Major myapp.dll

  • --additionalprobingpath <PATH>

    包含探查原則和要探查之組件的路徑。 重複選項以指定多個路徑。

  • --additional-deps <PATH>

    其他 .deps.json 檔案的路徑。 deps.json 檔案會包含相依性、編譯相依性及用來解決組件衝突的版本資訊清單。 如需詳細資訊,請參閱 GitHub 上的 Runtime Configuration Files (執行階段組態檔)。

  • --roll-forward <SETTING>

    控制復原如何套用至應用程式。 SETTING 可以是下列任一值。 如果未指定,則預設為 Minor

    • LatestPatch - 向前復原至最新的修補檔版本。 這會停用次要版本向前復原。
    • Minor - 若缺少要求的次要版本,則向前復原至最低次要版本的次新版本。 如果要求的次要版本存在,則會使用 LatestPatch 原則。
    • Major - 若缺少要求的主要版本,則向前復原至最低主要版本的次新版本,以及最低次要版本。 如果要求的主要版本存在,則會使用 Minor 原則。
    • LatestMinor - 即使有要求的次要版本,仍向前復原至最新的次要版本。 適用於裝載案例的元件。
    • LatestMajor - 即使有要求的主要版本,仍向前復原至最新的主要版本最新的次要版本。 適用於裝載案例的元件。
    • Disable - 不要向前復原。 只會繫結至指定的版本。 此原則不建議一般用途,因為它會停用向前復原到最新修補程式的功能。 只有測試時才建議使用這個值。

    除了 Disable 以外,所有設定都會使用修補檔的可用最新版本。

    向前復原行為也可在專案檔屬性、執行階段組態檔屬性,及環境變數中進行設定。 如需詳細資訊,請參閱主要版本執行階段向前復原

  • --fx-version <VERSION>

    用來執行應用程式的 .NET 執行階段版本。

    此選項會覆寫應用程式 .runtimeconfig.json 檔案中的第一個架構參考版本, 換句話說,只有當架構參考僅有一個時,此選項才能正常運作。 若應用程式有多個架構參考,使用此選項可能會造成錯誤。

使用 exec 命令執行應用程式時的選項

只有 dotnet 透過 exec 命令執行應用程式時,才能使用下列選項。 例如: dotnet exec --runtimeconfig myapp.runtimeconfig.json myapp.dll

  • --depsfile <PATH>

    deps.json 檔案的路徑。 deps.json 為組態檔,其中包含執行應用程式所需的相依性資訊。 此檔案會由 .NET SDK 產生。

  • --runtimeconfig <PATH>

    runtimeconfig.json 檔案的路徑。 runtimeconfig.json 檔案包含執行階段設定,且通常會命名為 <應用程式名稱>.runtimeconfig.json。 如需詳細資訊,請參閱 .NET 執行階段組態設定 (部分機器翻譯)。

dotnet 命令

一般

Command 函式
dotnet build 組建 .NET 應用程式。
dotnet build-server 與組建所啟動的伺服器互動。
dotnet clean 清除組建輸出。
dotnet exec 執行 .NET 應用程式。
dotnet help 顯示命令更詳細的線上文件。
dotnet migrate 將有效的 Preview 2 專案移轉至 .NET Core SDK 1.0 專案。
dotnet msbuild 提供對 MSBuild 命令列的存取。
dotnet new 初始化指定範本的 C# 或 F# 專案。
dotnet pack 建立您程式碼的 NuGet 套件。
dotnet publish 發行 .NET 與 Framework 相依的應用程式或獨立應用程式。
dotnet restore 還原所指定應用程式的相依性。
dotnet run 從原始檔執行應用程式。
dotnet sdk check 顯示已安裝之 SDK 和執行階段版本的最新狀態。
dotnet sln 要在方案檔中新增、移除及列出專案的選項。
dotnet store 在執行階段套件存放區中儲存組件。
dotnet test 使用測試執行器執行測試。

專案參考

Command 函式
dotnet add reference 新增專案參考。
dotnet list reference 列出專案參考。
dotnet remove reference 移除專案參考。

NuGet 套件

Command 函式
dotnet add package 新增 NuGet 套件。
dotnet remove package 移除 NuGet 套件。

NuGet 命令

Command 函式
dotnet nuget delete 從伺服器刪除或取消列出套件。
dotnet nuget push 將套件推送至伺服器並發行。
dotnet nuget locals 清除或列出本機 NuGet 資源,例如 http-request 快取、暫時快取,或整部電腦的全域套件資料夾。
dotnet nuget add source 新增 NuGet 來源。
dotnet nuget disable source 停用 NuGet 來源。
dotnet nuget enable source 啟用 NuGet 來源。
dotnet nuget list source 列出所有已設定的 NuGet 來源。
dotnet nuget remove source 移除 NuGet 來源。
dotnet nuget update source 更新 NuGet 來源。

工作負載命令

Command 函式
dotnet workload install 安裝選用的工作負載。
dotnet workload list 列出所有已安裝的工作負載。
dotnet workload repair 修復所有已安裝的工作負載。
dotnet workload search 列出所選的工作負載,或列出所有可用的工作負載。
dotnet workload uninstall 解除安裝工作負載。
dotnet workload update 重新安裝所有已安裝的工作負載。

全域、工具路徑和本機工具命令

工具是主控台應用程式,其會透過 NuGet 封裝安裝,並透過命令提示字元叫用。 您可以自行撰寫工具,或安裝第三方所撰寫的工具。 工具也稱為全域工具、工具路徑工具和本機工具。 如需詳細資訊,請參閱 .NET 工具概觀 (部分機器翻譯)。

Command 函式
dotnet tool install 將工具安裝到您的機器上。
dotnet tool list 列出您機器目前安裝的所有全域、工具路徑或本機工具。
dotnet tool search 在 NuGet.org 搜尋名稱或中繼資料中具備指定搜尋字詞的工具。
dotnet tool uninstall 從機器中解除安裝工具。
dotnet tool update 更新機器上所安裝的工具。

其他工具

下列其他工具可在 .NET SDK 中取得:

工具 函式
dev-certs 建立及管理開發憑證。
ef Entity Framework Core 命令列工具。
user-secrets 管理開發使用者祕密。
watch 檔案監看員,當其在原始程式碼中偵測到變更,即會重新啟動或熱重新載入應用程式。

如需每個工具的詳細資訊,請鍵入 dotnet <tool-name> --help

範例

建立新的 .NET 主控台應用程式:

dotnet new console

建置所指定目錄中的專案和其相依性:

dotnet build

執行應用程式:

dotnet exec myapp.dll
dotnet myapp.dll

另請參閱