关于 dotnet-install
.NET Installation Skill 为开发者和运维人员提供 SDK 与运行时安装指导,涵盖平台安装方式选择、版本管理和故障排查,并区分开发工具链与仅运行环境。
主要功能
- 01检测平台并推荐安装方式
- 02安装 SDK 或运行时
- 03用 global.json 管理版本
- 04并行安装多个 SDK 版本
- 05离线安装指南
- 06排查 PATH 和 SDK 问题
适用场景
- 01为操作系统选择安装方式
- 02为本地开发安装 SDK
- 03设置项目 SDK 版本
- 04准备离线安装
- 05诊断 SDK 缺失或 PATH 问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rysweet/ amplihack --skill dotnet-install安装后在 Claude Code 中输入/dotnet-install确认已加载。
附带文件reference.md
详细介绍
.NET 安装技能
自动安装 .NET SDK 和运行时,具备智能平台检测、版本管理和故障排除指导功能。
快速入门
检查当前安装
dotnet --version
# Output: 8.0.100
dotnet --list-sdks
# Output: 8.0.100 [/usr/local/share/dotnet/sdk]
dotnet --list-runtimes
# Output: Microsoft.NETCore.App 8.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
平台检测
此技能会自动检测你的操作系统,并推荐最佳安装方式:
# Detected: macOS 14.2 (arm64)
# Recommended: Official installer package (.pkg)
# Alternative: Homebrew (brew install dotnet)
快速安装(推荐方式)
Windows(WinGet):
# Install .NET 8 SDK (LTS)
winget install Microsoft.DotNet.SDK.8
# Verify installation
dotnet --version
# Output: 8.0.100
macOS(官方安装程序):
# Download and install from:
# https://dotnet.microsoft.com/download/dotnet/8.0
# Or use Homebrew:
brew install dotnet
# Verify installation
dotnet --version
# Output: 8.0.100
Linux(Ubuntu/Debian):
# Add Microsoft package repository
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Install .NET 8 SDK
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0
# Verify installation
dotnet --version
# Output: 8.0.100
SDK 与运行时的选择
在以下情况下安装 SDK:
- 构建应用程序
- 本地开发
- 运行
dotnet build或dotnet run - 需要完整的工具链
仅在以下情况下安装运行时:
- 部署生产应用程序
- 运行预编译的应用程序
- 尽量减小安装体积
- 生产服务器
# Install SDK (includes runtime)
sudo apt-get install dotnet-sdk-8.0
# Install runtime only (smaller)
sudo apt-get install aspnetcore-runtime-8.0 # For ASP.NET Core apps
sudo apt-get install dotnet-runtime-8.0 # For console apps
实用指南
Windows 安装方式
方式 1:WinGet(推荐)
# List available .NET versions
winget search Microsoft.DotNet.SDK
# Install .NET 8 SDK (LTS)
winget install Microsoft.DotNet.SDK.8
# Install specific version
winget install Microsoft.DotNet.SDK.8 --version 8.0.100
# Update existing installation
winget upgrade Microsoft.DotNet.SDK.8
方式 2:Visual Studio 安装程序
# Visual Studio 2022 detected at: C:\Program Files\Visual Studio\2022\Community
# .NET 8 SDK available via: Modify Installation → .NET desktop development
安装步骤:
- 启动 Visual Studio 安装程序
- 点击安装项上的“修改”
- 选择“.NET 桌面开发”工作负载
- 应用更改
方式 3:独立安装程序
# Download: https://dotnet.microsoft.com/download/dotnet/8.0
# File: dotnet-sdk-8.0.100-win-x64.exe
# SHA512: [verification hash]
# Run installer (GUI)
.\dotnet-sdk-8.0.100-win-x64.exe
# Or silent install
.\dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart
方式 4:PowerShell 脚本
# Download install script
Invoke-WebRequest -Uri https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1
# Install latest .NET 8 SDK
.\dotnet-install.ps1 -Channel 8.0
# Install to custom location
.\dotnet-install.ps1 -Channel 8.0 -InstallDir "C:\Program Files\dotnet"
# Install runtime only
.\dotnet-install.ps1 -Channel 8.0 -Runtime dotnet
macOS 安装方式
方式 1:官方安装程序包(推荐)
# Detected: Apple Silicon (arm64)
# Recommended: dotnet-sdk-8.0.100-osx-arm64.pkg
# Download from: https://dotnet.microsoft.com/download/dotnet/8.0
# Double-click .pkg file to install
# Verify installation location
which dotnet
# Output: /usr/local/share/dotnet/dotnet
方式 2:Homebrew
# Install Homebrew (if needed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install .NET SDK
brew install dotnet
# Install specific version (if available)
brew install dotnet@8
# Update existing installation
brew upgrade dotnet
方式 3:安装脚本
# Download install script
curl -sSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
chmod +x dotnet-install.sh
# Install latest .NET 8 SDK
./dotnet-install.sh --channel 8.0
# Install to custom location
./dotnet-install.sh --channel 8.0 --install-dir ~/.dotnet
# Add to PATH
echo 'export PATH="$HOME/.dotnet:$PATH"' >> ~/.zshrc
source ~/.zshrc
Linux 安装方式
Ubuntu/Debian
# Ubuntu 22.04 LTS
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Ubuntu 20.04 LTS
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Install SDK
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0
# Install runtime only
sudo apt-get install -y aspnetcore-runtime-8.0
Fedora/RHEL/CentOS
# Fedora 39
sudo dnf install dotnet-sdk-8.0
# RHEL/CentOS (register Microsoft repository first)
sudo dnf install https://packages.microsoft.com/config/rhel/9/packages-microsoft-prod.rpm
sudo dnf install dotnet-sdk-8.0
Arch Linux
# Install from official repositories
sudo pacman -S dotnet-sdk
# Install runtime only
sudo pacman -S aspnet-runtime
Alpine Linux
# Add Microsoft repository
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
# Install .NET 8
./dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet
# Add to PATH
export PATH="$PATH:/usr/share/dotnet"
使用 global.json 管理版本
控制项目使用的 .NET SDK 版本:
# Create global.json for .NET 8
dotnet new globaljson --sdk-version 8.0.100
# View current global.json
cat global.json
{
"sdk": {
"version": "8.0.100",
"rollForward": "latestPatch"
}
}
滚动转发策略:
latestPatch- 使用最新补丁版本(8.0.x)latestFeature- 使用最新功能带版本(8.x.x)latestMinor- 使用最新次要版本(x.x.x)disable- 必须使用精确版本
深入了解
SDK 与运行时的架构
SDK 组件:
.NET SDK 8.0.100
├── Runtime (8.0.0)
├── Compiler (Roslyn)
├── CLI Tools (dotnet build, run, publish)
├── Templates (dotnet new)
└── MSBuild
仅运行时组件:
.NET Runtime 8.0.0
├── CoreCLR (execution engine)
├── Base Class Libraries
└── Framework assemblies
大小对比:
- SDK:约 200-400 MB
- 运行时:约 50-150 MB
并行安装多个版本
.NET 支持同时安装多个版本:
# List all installed SDKs
dotnet --list-sdks
# Output:
# 6.0.420 [/usr/local/share/dotnet/sdk]
# 7.0.410 [/usr/local/share/dotnet/sdk]
# 8.0.100 [/usr/local/share/dotnet/sdk]
# Install additional versions
sudo apt-get install dotnet-sdk-7.0 # Adds to existing installation
# Project selects version via global.json
cd my-project
cat global.json
# { "sdk": { "version": "7.0.410" } }
dotnet --version
# Output: 7.0.410 (selected by global.json)
离线安装
适用于隔离网络环境或受限网络:
Windows
# Download offline installer
# https://dotnet.microsoft.com/download/dotnet/8.0
# Select: x64 | Binaries
# Extract to destination
Expand-Archive dotnet-sdk-8.0.100-win-x64.zip -DestinationPath "C:\Program Files\dotnet"
# Add to PATH
$env:PATH = "C:\Program Files\dotnet;$env:PATH"
[Environment]::SetEnvironmentVariable("PATH", $env:PATH, "Machine")
Linux
# Download tarball
wget https://download.visualstudio.microsoft.com/download/pr/[hash]/dotnet-sdk-8.0.100-linux-x64.tar.gz
# Extract to system location
sudo mkdir -p /usr/local/share/dotnet
sudo tar -xzf dotnet-sdk-8.0.100-linux-x64.tar.gz -C /usr/local/share/dotnet
# Create symlink
sudo ln -s /usr/local/share/dotnet/dotnet /usr/local/bin/dotnet
Docker 安装
# Use official .NET SDK image
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
# Copy and restore project
COPY *.csproj ./
RUN dotnet restore
# Build application
COPY . ./
RUN dotnet publish -c Release -o out
# Runtime image (smaller)
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app/out .
ENTRYPOINT ["dotnet", "MyApp.dll"]
常见故障排除
PATH 未更新
# Verify dotnet location
which dotnet # macOS/Linux
where.exe dotnet # Windows
# If not found, add to PATH manually:
# macOS/Linux (bash)
echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.bashrc
source ~/.bashrc
# macOS (zsh)
echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.zshrc
source ~/.zshrc
# Windows (PowerShell)
$env:PATH = "$env:PATH;C:\Program Files\dotnet"
安装后找不到 SDK
# Check installation location
dotnet --info
# Look for "Base Path:" in output
# Register installation manually (Linux)
sudo ln -s /usr/local/share/dotnet/dotnet /usr/bin/dotnet
# Clear NuGet cache if corrupted
dotnet nuget locals all --clear
版本冲突
# Remove specific SDK version
sudo apt-get remove dotnet-sdk-7.0 # Linux
winget uninstall Microsoft.DotNet.SDK.7 # Windows
# Force project to use available SDK
# Edit global.json:
{
"sdk": {
"version": "8.0.100",
"rollForward": "latestMinor" # More permissive
}
}
参考资料
详细信息:请参阅 reference.md,了解以下内容:
- 完整的平台专属安装命令
- 高级版本管理策略
- 企业部署模式
- CI/CD 集成示例
- 性能优化技巧
官方文档:
评论
支持 Markdown