本文適用於: ✔️.NET 10.0.100 SDK 和更新版本
名稱
dotnet tool exec - 下載並叫用 .NET 工具,而不永久安裝它。
概要
dotnet tool exec <PACKAGE_NAME>[@<VERSION>]
[--allow-roll-forward] [-a|--arch <ARCHITECTURE>]
[--add-source <SOURCE>] [--configfile <FILE>] [--disable-parallel]
[--framework <FRAMEWORK>] [--ignore-failed-sources] [--interactive]
[--no-http-cache] [--prerelease] [--source <SOURCE>]
[-v|--verbosity <LEVEL>]
[--] [<tool-arguments>...]
dotnet tool exec -h|--help
Description
此 dotnet tool exec 命令提供 .NET Tools 的一次性工具叫用模式。 它會自動將指定的工具套件下載至 NuGet 快取,並叫用它,而不需要修改您的系統 PATH 或需要永久安裝。
當您執行 dotnet tool exec時,指令:
- 根據您設定的 NuGet 摘要檢查您指定的版本 (或版本範圍) (或最新版本,如果未指定任何版本),以決定要下載的套件。
- 將指定的套件下載至 NuGet 快取 (如果尚未存在)。
- 使用任何提供的引數叫用工具。
- 傳回工具的結束碼。
dotnet tool exec 與全球和本地工具無縫協作。 如果您有可用的本機工具資訊清單,它會使用資訊清單來決定要執行的工具版本。
此命令也以另外兩種形式存在,以便於使用
-
dotnet dnx- 隱藏別名dotnet tool exec用作輕鬆實現dnx腳本本身的一種方式 -
dnx- 從 SDK 叫用dotnet dnx的 shell 指令碼。 此指令碼由安裝程式提供,可在 上取得PATH。 它允許直接透過dnx <toolname>非常簡單地使用工具。
Arguments
PACKAGE_NAME要執行之 .NET 工具的 NuGet 套件識別碼。 您可以選擇性地使用語法指定
@版本,例如dotnetsay@2.1.0。tool-arguments要傳遞給正在執行的工具的引數。 之後
--的所有內容都直接傳遞到工具。
選項
--allow-roll-forward如果未安裝工具的目標執行階段,則允許工具使用較新版本的 .NET 執行階段。
--add-source <SOURCE>新增其他 NuGet 套件來源以在安裝期間使用。 摘要會平行存取,而不是以後援串聯順序存取。 如果多個摘要中提供相同的套件和版本,則最快的摘要會獲勝。 如需詳細資訊,請參閱 安裝 NuGet 套件時會發生什麼事。 您可以使用 NuGet 套件來源對應來控制此專案。 如需詳細資訊,請參閱 套件來源對應。
-
--configfile <FILE>要使用的 NuGet 組態檔 (nuget.config)。 若已指定,僅會使用此檔案中的設定。 若未指定,則將使用當前目錄中組態檔的階層。 如需詳細資訊,請參閱常見的 NuGet 組態。
-
--disable-parallel避免平行還原多個專案。
--ignore-failed-sources將套件來源失敗視為警告。
-
--interactive允許命令停止並等候使用者輸入或動作。 例如,若要完成驗證。
--no-http-cache不會將 HTTP 要求快取至已設定的 NuGet 摘要。
--prerelease允許在解析要安裝的版本時選取發行前版本套件。
-
--source <SOURCE>指定 NuGet 套件的來源。
-
-v|--verbosity <LEVEL>設定命令的詳細資訊層級。 允許的值為
q[uiet]、m[inimal]、n[ormal]、d[etailed]和diag[nostic]。 預設值為normal。 如需詳細資訊,請參閱LoggerVerbosity。 -
-?|-h|--help輸出有關如何使用命令的說明。
範例
dotnet tool exec dotnetsay下載(如有必要)並運行該工具的
dotnetsay最新版本。dotnet tool exec dotnetsay@2.1.0下載(如有必要)並運行該
dotnetsay工具的 2.1.0 版。dotnet tool exec dotnetsay@2.*下載(如有必要)並運行 2.x 版本範圍內的最新版本的工具
dotnetsay。dotnet tool exec dotnetsay -- Hello World執行
dotnetsay工具,並將 “Hello World” 作為引數傳遞給工具。dotnet tool exec --add-source https://api.nuget.org/v3/index.json mytool使用指定的 NuGet 來源下載並執行
mytool。
與其他命令的比較
此命令旨在成為使用 .NET Tools 的統一方式。 雖然先前可用的工具安裝命令仍然可用, dotnet tool exec 但為大多數使用者提供了更簡單、更靈活的體驗。
| Command | 目標 | 安裝 | Scope |
|---|---|---|---|
dotnet tool exec |
一次性執行 | 無 (僅限快取) | Temporary |
dotnet tool install -g |
永久全球安裝 | 全球 | 全系統 |
dotnet tool install |
永久本地安裝 | 本機資訊清單 | 專案 |
dotnet tool run |
執行已安裝的本機工具 | 需要事先安裝 | 專案 |
該 dotnet tool install -g 命令對於想要永久安裝工具的用戶仍然具有重要作用。 但是,對於想要試用工具或在 CI/CD 管道中運行它的用戶來說, dotnet tool exec 通常更適合。