使用 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 托管安装根目录,请省略 sdk.paths 或显式设置 --install-path。

更新 global.json

更改 sdk.version 或 rollForward 后,从存储库目录运行 dotnetup sdk install 以应用新要求。 在垃圾回收刷新更改的 global.json 源之前,dotnetup sdk update 会处理存储的要求,因此其第一次遍历可能仍使用之前的要求。

若要在派生通道中安装最新版本并将该版本写回 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 仅当其余要求都不再需要这些文件时才会删除它们。

另请参阅