用途:指导在项目本地 .dotnet/ 目录安装 .NET SDK,并通过 global.json 的 paths 特性(需 .NET 10+ 宿主)让项目根目录下的 dotnet 命令自动使用该本地 SDK。适用于安全预览测试、固定特定版本、可复现的团队环境,且不修改系统级 .NET 安装;删除 .dotnet/ 即可回退。
主要能力:支持按 channel/quality(如 11.0、preview、ga)或精确版本安装;生成或合并 global.json 的 sdk 配置(version、allowPrerelease、rollForward、paths、errorMessage);更新 .gitignore;可选安装 workload;可生成团队安装脚本 install-dotnet.sh / install-dotnet.ps1。
使用方式:先确认宿主 dotnet --version 主版本 ≥ 10,否则停止并先装 .NET 10+。检测系统后选择 bash 或 PowerShell 脚本,从官方地址 https://dot.net/v1/dotnet-install.sh 或 https://dot.net/v1/dotnet-install.ps1 下载并执行,安装到 .dotnet。随后用 ./.dotnet/dotnet --version 记录版本,写入 global.json,例如 paths 为 [".dotnet", "$host$"],精确版本用 rollForward: "disable",预览版设 allowPrerelease: true。workload 安装须使用本地二进制:./.dotnet/dotnet workload install <workload>。
限制:paths 仅适用于 SDK 解析,不适用于仅运行时安装或 apphost;宿主低于 v10 时该特性不存在;Linux 上完整 maui 元 workload 不可用,需改用受支持 workload(如 maui-android);修改已有 global.json 前应备份,无 jq 时 bash 脚本不会覆盖。