使用 dotnetup 為存放庫安裝 SDK

Note

dotnetup 目前已公開預覽。 其特性與行為可能會在正式上市前改變。

當你沒有提供 SDK 通道時, dotnetup sdk install 會從目前目錄搜尋到檔案系統根目錄。 它使用最接近的現有 global.json 檔案。 如果該檔案格式不正確,指令會失敗,而不是搜尋父目錄。 若不存在檔案,則使用 latest。

安裝存放庫相依項目

從儲存庫目錄執行:

dotnetup sdk install

在這個檔案中global.json,dotnetup 追蹤了10.0.1xx 功能帶:

{
  "sdk": {
    "version": "10.0.103",
    "rollForward": "latestPatch"
  }
}

global.json路徑是儲存需求的來源。 你可以透過以下方式查看來源和已安裝版本:

dotnetup list

瞭解向前復原對應

對於像 10.0.103 這樣的 SDK 版本,dotnetup 會如下映射 rollForward:

rollForward 數值 已儲存的 dotnetup 頻道
省略或 latestPatch 10.0.1xx
latestFeature 10.0
latestMinor 10
latestMajor latest
disable、patch、feature、minor 或 major 精確版本 10.0.103

精確需求已釘選,且不會被 dotnetup update改變。 該 allowPrerelease 屬性不影響 dotnetup 所推導的通道。

使用 sdk.paths

若 global.json 包含 sdk.paths,dotnetup 則在無 --install-path 選項時使用第一條路徑。 它從包含 global.json 的目錄解析相對值。

安裝路徑優先順序為:

  1. --install-path
  2. 第一 sdk.paths 條目
  3. dotnetup 管理的預設 .NET 安裝根目錄

預覽限制

目前的公開預覽版本將第一 sdk.paths 條目視為一條路徑。 它不會解讀 $host$ 為哨兵,也不會跳過空白條目。 要使用預設的 dotnetup-managed 安裝根目錄,請省略 sdk.paths 或明確設定 --install-path 。

更新 global.json

更改 sdk.version 或 rollForward 後,從儲存庫目錄執行 dotnetup sdk install,以套用新的需求。 在垃圾回收重新整理已變更的 dotnetup sdk update 來源之前,global.json 處理程序會儲存需求,因此其第一輪可能仍會使用先前的需求。

要在衍生頻道安裝最新版本,並將該版本寫回 global.json,請執行:

dotnetup sdk install --update-global-json

之後,更新所有已追蹤的儲存庫需求及其檔案:

dotnetup sdk update --update-global-json

更新只會變更sdk.version。 它保留現有的格式、其他屬性及偵測到的文字編碼。

移除匹配的儲存庫需求

卸載指令會移除所選安裝根目錄中所有相符的 globaljson 規格項目。 它不會針對單一儲存庫。 要移除預設根的匹配要求,執行:

dotnetup sdk uninstall 10.0.1xx --source globaljson

要選擇自訂安裝根,請新增 --install-path:

dotnetup sdk uninstall 10.0.1xx --source globaljson --install-path <INSTALL_PATH>

dotnetup 只有在沒有任何剩餘需求需要這些檔案時,才會移除檔案。

也請參閱