安装.NETSDKSkill install-sdk

这个技能用于安装 .NET SDK 版本,支持跨平台包管理器,并可配置 global.json 文件,便于开发环境设置。关键词:.NET SDK 安装、跨平台支持、global.json 配置、DevOps 工具、软件开发环境。

DevOps 0 次安装 0 次浏览 更新于 3/11/2026

name: install-sdk description: 安装 .NET SDK,支持跨平台和可选的交互式 global.json 配置 argument-hint: “[–version <ver>] [–update-global-json] [–interactive] [–list]” allowed-tools: Bash, Read, Write, Edit, AskUserQuestion, mcp__perplexity__search

/dotnet:install-sdk

安装 .NET SDK 版本,支持跨平台包管理器和交互式 global.json 配置。

参数

$ARGUMENTS 解析参数:

标志 描述 默认值
--version <version> 要安装的 SDK 版本(例如,10.0, 10.0.100) 最新稳定版
--update-global-json 同时更新/创建 global.json false
--interactive 交互式模式用于 global.json 配置 false
--list 列出已安装的 SDK false
--channel <channel> 发布频道(LTS, STS, Preview) STS

工作流程

步骤 1:检测环境

确定当前状态:

# 检查已安装的 SDK
dotnet --list-sdks

# 检查当前 global.json(如果存在)
cat global.json 2>/dev/null || echo "No global.json"

检测操作系统:

  • Windows:检查 winget 可用性
  • macOS:检查 brew 可用性
  • Linux:检查 aptdnfpacman

步骤 2:确定目标版本

如果指定了 --version

  • 解析版本(接受 “10”、“10.0” 或 “10.0.100”)
  • 标准化为完整 SDK 版本

如果未指定 --version

  • 查询最新稳定版本:
使用 mcp__perplexity__search:
  查询:".NET SDK 最新稳定版本 2026 年 1 月"

步骤 3:检查是否已安装

dotnet --list-sdks | grep "^<version>"

如果已安装:

.NET SDK <version> 已安装。

安装位置:<path>
当前 global.json:<version 或 none>

请选择:
- 更新 global.json 以使用此版本
- 安装不同版本
- 退出

步骤 4:安装 SDK

Windows (winget):

winget install Microsoft.DotNet.SDK.<major> --version <version>

Windows (手动/巧克力回退):

# 如果 winget 不可用
choco install dotnet-sdk --version=<version>

macOS (Homebrew):

# 安装最新版
brew install --cask dotnet-sdk

# 安装特定版本(如果可用)
brew install --cask dotnet-sdk@<major>

Linux (apt - Ubuntu/Debian):

# 如果需要,添加 Microsoft 软件包仓库
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

# 安装 SDK
sudo apt-get update
sudo apt-get install -y dotnet-sdk-<major>.0

Linux (dnf - Fedora/RHEL):

sudo dnf install dotnet-sdk-<major>.0

步骤 5:验证安装

dotnet --list-sdks
dotnet --version

确认安装的版本出现在列表中。

步骤 6:Global.json 配置

如果使用 --update-global-json--interactive

交互式模式 (--interactive):

呈现 SDK 选择:

为此项目配置 global.json

已安装的 SDK:
  1. 10.0.100(刚安装)
  2. 9.0.200
  3. 8.0.400

该项目应使用哪个 SDK 版本?

然后呈现 rollForward 策略:

选择 rollForward 策略:

  1. latestPatch(推荐)- 使用最新补丁版本
  2. latestMinor - 使用最新次要版本
  3. latestMajor - 使用最新主要版本
  4. latestFeature - 使用最新功能带
  5. disable - 仅使用精确版本

然后呈现 allowPrerelease:

允许预发布 SDK 版本吗?

  1. 否(推荐用于生产)
  2. 是(用于测试预览功能)

非交互式模式:

使用合理默认值创建/更新 global.json:

{
  "sdk": {
    "version": "<installed-version>",
    "rollForward": "latestPatch"
  }
}

步骤 7:写入 Global.json

如果 global.json 存在,保留其他设置:

{
  "sdk": {
    "version": "10.0.100",
    "rollForward": "latestPatch",
    "allowPrerelease": false
  },
  // 保留现有的 msbuild-sdks、tools 等
}

输出格式

列表模式:

已安装的 .NET SDK:

  版本       位置                                    状态
  10.0.100   C:\Program Files\dotnet\sdk\10.0.100  活跃(global.json)
  9.0.200    C:\Program Files\dotnet\sdk\9.0.200   已安装
  8.0.400    C:\Program Files\dotnet\sdk\8.0.400   已安装

当前 global.json:
  版本:10.0.100
  RollForward:latestPatch
  路径:D:\repos\myproject\global.json

安装成功:

.NET SDK 安装完成

  已安装:.NET SDK 10.0.100
  位置:C:\Program Files\dotnet\sdk\10.0.100
  方法:winget

验证:
  dotnet --version:10.0.100

Global.json:已更新为使用 10.0.100,rollForward 为 latestPatch

安装并交互式配置 Global.json:

.NET SDK 安装完成

  已安装:.NET SDK 10.0.100

Global.json 配置:
  {
    "sdk": {
      "version": "10.0.100",
      "rollForward": "latestMinor",
      "allowPrerelease": false
    }
  }

写入到:D:\repos\myproject\global.json

RollForward 策略参考

策略 行为
patch 仅精确补丁版本
feature 最新补丁,相同功能带
minor 最新补丁,相同次要版本
major 最新补丁,相同主要版本
latestPatch 指定功能带的最新补丁
latestFeature 指定次要的最新功能带
latestMinor 指定主要的最新次要版本
latestMajor 最新可用 SDK
disable 仅精确版本,不向前滚动

示例

# 列出已安装的 SDK
/dotnet:install-sdk --list

# 安装最新稳定 SDK
/dotnet:install-sdk

# 安装特定版本
/dotnet:install-sdk --version 10.0.100

# 安装并更新 global.json
/dotnet:install-sdk --version 10.0 --update-global-json

# 交互式 global.json 配置
/dotnet:install-sdk --interactive

# 安装预览版 SDK
/dotnet:install-sdk --channel Preview

故障排除

winget 未找到(Windows):

winget 不可用。选项:
1. 从 Microsoft Store 安装 App Installer
2. 使用 chocolatey:choco install dotnet-sdk
3. 手动从 https://dotnet.microsoft.com/download 下载

权限被拒绝(Linux):

安装需要 sudo。运行:
  sudo apt-get install dotnet-sdk-10.0

或使用安装脚本(用户本地):
  curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version 10.0.100