dotnetup 入门

Note

dotnetup 为公共预览版。 在正式发布之前,其功能和行为可能会更改。

dotnetup是用于用户级.NET安装的跨平台工具链管理器。 它无需使用系统包管理器即可安装、更新和删除.NET SDK 和运行时。

Prerequisites

  • 以下操作系统和体系结构之一:

    操作系统 Architectures
    Windows x64、Arm64
    macOS x64、Arm64
    Linux (glibc) x64、Arm64
    Linux (musl),如 Alpine Linux x64、Arm64
  • 终端。

  • 在 macOS 或 Linux 上使用 Bash,或在 Windows 上使用 PowerShell,来运行下载脚本。

  • 在 macOS 或 Linux 上,使用 curl 或 wget 下载文件,或使用 sha512sum 或 shasum 验证这些文件。

dotnetup具有与 .NET 运行时相同的操作系统要求。 有关特定于 OS 的要求,请参阅在 Windows 上安装 .NET、在 macOS 上安装 .NET或在 Linux 上安装 .NET。

Important

在 Windows 中,默认配置使用 everywhere 访问模式。 此模式:

  • 需要提升权限才能更新系统 PATH。
  • 使 dotnetup 托管安装优先于整个计算机范围内的 .NET 安装,例如 Visual Studio 安装的 .NET。 需要计算机范围的 SDK 或运行时,且未由 dotnetup 安装的项目和应用无法生成或运行。
  • 更改系统 PATH,这适用于所有用户。 其他用户启动的提升进程可能会从你的用户配置文件中解析 .NET。

若要避免这些影响,请在安装过程中选择 none 或 shell 访问模式。 如果选择 everywhere,请在安装程序提示时迁移现有安装。 有关详细信息,请参阅 Everywhere 模式注意事项。

下载 dotnetup

默认情况下,下载脚本将安装最新 preview 版本。 使用其 SHA-512 校验和验证下载的可执行文件并将其安装到 ~/.dotnetup 中。

在 macOS 或 Linux 上,运行:

curl -fsSL https://aka.ms/dotnetup/get-dotnetup.sh | bash

在Windows,运行:

irm https://aka.ms/dotnetup/get-dotnetup.ps1 | iex

若要在 macOS 或 Linux 上安装最新版本 daily ,请运行:

curl -fsSL https://aka.ms/dotnetup/get-dotnetup.sh |
  bash -s -- --quality daily

若要在 Windows 上安装最新daily构建版本,请运行:

iex "& { $(irm https://aka.ms/dotnetup/get-dotnetup.ps1) } -Quality daily"

Important

每日生成尚未完成发布验证,并且未进行代码签名。 仅将每日构建版本用于短期测试。

脚本会打印将 dotnetup 添加到 PATH 的说明。 按照这些说明操作后,打开一个新终端。

运行首次设置

运行交互式设置:

> dotnetup init
Welcome to dotnetup!

SDK Channel: latest
Mode: <recommended-mode> (Suggested)

<recommended-mode> modifies <configuration-target> to set PATH and DOTNET_ROOT to prefer <install-path>.

Would you like to install .NET with the recommended settings?
> Yes, proceed with defaults and install

Installing SDK <resolved-version> to <install-path>...
<download and installation progress>
Installed at <install-path>:
  SDK <resolved-version>
<mode-specific environment guidance>
Setup complete!

路径、进度显示和环境指南取决于系统和所选模式。

在 Windows 中,建议的访问模式为 everywhere。 在 macOS 和 Linux 上,当 dotnetup 检测到受支持的 shell 时,其为 shell,否则为 none。

选择 “否,自定义设置” 以选择 SDK 通道、访问模式和迁移选项。

选择 SDK 通道

SDK 通道告知 dotnetup 要安装的 SDK 以及如何对其进行更新。

渠道表单 Example Result
最新稳定版 latest 最新的活跃稳定版 SDK
最新 LTS lts 最新的活跃稳定 LTS SDK
最新预览 preview 最新预览版 SDK
每日最新 daily 最新可用的每日 SDK
主要 10 指定主版本的最新 SDK
主要和次要 10.0 指定主版本和次要版本的最新 SDK
功能区 10.0.1xx 指定功能带中的最新 SDK
确切版本 10.0.103 仅限指定的 SDK 版本
无初始 SDK none 在设置过程中跳过安装

确切版本在更新期间不会升级。 有关所有可接受的形式,请参阅 dotnetup 通道和版本。

选择如何访问.NET

访问模式控制终端和应用程序如何查找由 dotnetup 管理的 .NET 安装。

访问模式 Behavior
none 不修改这些环境变量。 使用 dotnetup dotnet 运行 .NET。
shell 修改 shell 配置文件以设置这些环境变量。 从该 shell 启动的进程使用 dotnetup 安装的.NET SDK 和运行时。
everywhere 修改系统 PATH 并设置用户级 DOTNET_ROOT 环境变量。 仅适用于Windows。

有关 everywhere 模式的更多详细信息和注意事项,请参阅 dotnetup 环境配置。

迁移现有安装

安装程序可以提供将现有计算机范围的 .NET SDK 和运行时安装迁移到 dotnetup 托管安装的选项。 请参阅“随处”模式注意事项,了解为何在 everywhere 模式下迁移尤为重要。

验证设置

在设置更改环境后,请打开一个新的终端。

对于 shell 或 everywhere 模式,请运行:

dotnet --version
dotnetup list

对于 none 模式,请运行:

dotnetup dotnet -- --version
dotnetup list

再次运行 dotnetup init 以更改设置。

使 dotnetup 保持最新状态

若要更新工具本身,请运行 dotnetup self update。 对于每日构建,请使用 dotnetup self update --channel daily。 这些命令不会更新受管理的 SDK 或运行时。 有关选项和恢复旧版本,请参阅 更新或删除 dotnetup。