dotnet-install

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

.NET Installation Skill

.NET 安装指南

Automated .NET SDK and runtime installation with intelligent platform detection, version management, and troubleshooting guidance.
自动化的.NET SDK与运行时安装,包含智能平台检测、版本管理和故障排查指导。

Quick Start

快速开始

Check Current Installation

检查当前安装情况

bash
dotnet --version
bash
dotnet --version

Output: 8.0.100

输出: 8.0.100

dotnet --list-sdks
dotnet --list-sdks

Output: 8.0.100 [/usr/local/share/dotnet/sdk]

输出: 8.0.100 [/usr/local/share/dotnet/sdk]

dotnet --list-runtimes
dotnet --list-runtimes

Output: Microsoft.NETCore.App 8.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

输出: Microsoft.NETCore.App 8.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

undefined
undefined

Platform Detection

平台检测

The skill automatically detects your operating system and recommends the best installation method:
bash
undefined
本指南会自动检测你的操作系统,并推荐最优安装方式:
bash
undefined

Detected: macOS 14.2 (arm64)

检测到: macOS 14.2 (arm64)

Recommended: Official installer package (.pkg)

推荐: 官方安装包 (.pkg)

Alternative: Homebrew (brew install dotnet)

备选: Homebrew (brew install dotnet)

undefined
undefined

Quick Install (Recommended Methods)

快速安装(推荐方式)

Windows (WinGet):
powershell
undefined
Windows(WinGet):
powershell
undefined

Install .NET 8 SDK (LTS)

安装.NET 8 SDK(长期支持版)

winget install Microsoft.DotNet.SDK.8
winget install Microsoft.DotNet.SDK.8

Verify installation

验证安装

dotnet --version
dotnet --version

Output: 8.0.100

输出: 8.0.100


**macOS (Official Installer)**:

```bash

**macOS(官方安装器)**:

```bash

Download and install from:

下载并安装:

Or use Homebrew:

或使用Homebrew:

brew install dotnet
brew install dotnet

Verify installation

验证安装

dotnet --version
dotnet --version

Output: 8.0.100

输出: 8.0.100


**Linux (Ubuntu/Debian)**:

```bash

**Linux(Ubuntu/Debian)**:

```bash

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
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

安装.NET 8 SDK

sudo apt-get update sudo apt-get install -y dotnet-sdk-8.0
sudo apt-get update sudo apt-get install -y dotnet-sdk-8.0

Verify installation

验证安装

dotnet --version
dotnet --version

Output: 8.0.100

输出: 8.0.100

undefined
undefined

SDK vs Runtime Decision

SDK与运行时选择

Install SDK when:
  • Building applications
  • Developing locally
  • Running
    dotnet build
    or
    dotnet run
  • Need the complete toolchain
Install Runtime only when:
  • Deploying production apps
  • Running pre-compiled applications
  • Minimizing installation size
  • Production servers
bash
undefined
以下情况安装SDK:
  • 构建应用程序
  • 本地开发
  • 运行
    dotnet build
    dotnet run
    命令
  • 需要完整工具链
以下情况仅安装运行时:
  • 部署生产环境应用
  • 运行预编译应用
  • 最小化安装体积
  • 生产服务器
bash
undefined

Install SDK (includes runtime)

安装SDK(包含运行时)

sudo apt-get install dotnet-sdk-8.0
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
undefined
sudo apt-get install aspnetcore-runtime-8.0 # 适用于ASP.NET Core应用 sudo apt-get install dotnet-runtime-8.0 # 适用于控制台应用
undefined

Practical Guide

实用指南

Windows Installation Methods

Windows安装方式

Method 1: WinGet (Recommended)

方式1:WinGet(推荐)

powershell
undefined
powershell
undefined

List available .NET versions

列出可用的.NET版本

winget search Microsoft.DotNet.SDK
winget search Microsoft.DotNet.SDK

Install .NET 8 SDK (LTS)

安装.NET 8 SDK(长期支持版)

winget install Microsoft.DotNet.SDK.8
winget install Microsoft.DotNet.SDK.8

Install specific version

安装特定版本

winget install Microsoft.DotNet.SDK.8 --version 8.0.100
winget install Microsoft.DotNet.SDK.8 --version 8.0.100

Update existing installation

更新已安装版本

winget upgrade Microsoft.DotNet.SDK.8
undefined
winget upgrade Microsoft.DotNet.SDK.8
undefined

Method 2: Visual Studio Installer

方式2:Visual Studio安装器

powershell
undefined
powershell
undefined

Visual Studio 2022 detected at: C:\Program Files\Visual Studio\2022\Community

检测到Visual Studio 2022位于: C:\Program Files\Visual Studio\2022\Community

.NET 8 SDK available via: Modify Installation → .NET desktop development

可通过以下方式获取.NET 8 SDK:修改安装 → .NET桌面开发


Installation steps:

1. Launch Visual Studio Installer
2. Click "Modify" on your installation
3. Select ".NET desktop development" workload
4. Apply changes

安装步骤:

1. 启动Visual Studio安装器
2. 点击你的安装项旁的"修改"
3. 选择".NET桌面开发"工作负载
4. 应用更改

Method 3: Standalone Installer

方式3:独立安装器

powershell
undefined
powershell
undefined

File: dotnet-sdk-8.0.100-win-x64.exe

文件: dotnet-sdk-8.0.100-win-x64.exe

SHA512: [verification hash]

SHA512: [校验哈希值]

Run installer (GUI)

运行安装器(图形界面)

.\dotnet-sdk-8.0.100-win-x64.exe
.\dotnet-sdk-8.0.100-win-x64.exe

Or silent install

或静默安装

.\dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart
undefined
.\dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart
undefined

Method 4: PowerShell Script

方式4:PowerShell脚本

powershell
undefined
powershell
undefined

Download install script

下载安装脚本

Invoke-WebRequest -Uri https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1
Invoke-WebRequest -Uri https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1

Install latest .NET 8 SDK

安装最新.NET 8 SDK

.\dotnet-install.ps1 -Channel 8.0
.\dotnet-install.ps1 -Channel 8.0

Install to custom location

安装到自定义路径

.\dotnet-install.ps1 -Channel 8.0 -InstallDir "C:\Program Files\dotnet"
.\dotnet-install.ps1 -Channel 8.0 -InstallDir "C:\Program Files\dotnet"

Install runtime only

仅安装运行时

.\dotnet-install.ps1 -Channel 8.0 -Runtime dotnet
undefined
.\dotnet-install.ps1 -Channel 8.0 -Runtime dotnet
undefined

macOS Installation Methods

macOS安装方式

Method 1: Official Installer Package (Recommended)

方式1:官方安装包(推荐)

bash
undefined
bash
undefined

Detected: Apple Silicon (arm64)

检测到: Apple Silicon (arm64)

Recommended: dotnet-sdk-8.0.100-osx-arm64.pkg

推荐: dotnet-sdk-8.0.100-osx-arm64.pkg

Double-click .pkg file to install

双击.pkg文件进行安装

Verify installation location

验证安装路径

which dotnet
which dotnet

Output: /usr/local/share/dotnet/dotnet

输出: /usr/local/share/dotnet/dotnet

undefined
undefined

Method 2: Homebrew

方式2:Homebrew

bash
undefined
bash
undefined

Install Homebrew (if needed)

安装Homebrew(如未安装)

Install .NET SDK

安装.NET SDK

brew install dotnet
brew install dotnet

Install specific version (if available)

安装特定版本(若可用)

brew install dotnet@8
brew install dotnet@8

Update existing installation

更新已安装版本

brew upgrade dotnet
undefined
brew upgrade dotnet
undefined

Method 3: Install Script

方式3:安装脚本

bash
undefined
bash
undefined

Download install script

下载安装脚本

curl -sSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh chmod +x dotnet-install.sh
curl -sSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh chmod +x dotnet-install.sh

Install latest .NET 8 SDK

安装最新.NET 8 SDK

./dotnet-install.sh --channel 8.0
./dotnet-install.sh --channel 8.0

Install to custom location

安装到自定义路径

./dotnet-install.sh --channel 8.0 --install-dir ~/.dotnet
./dotnet-install.sh --channel 8.0 --install-dir ~/.dotnet

Add to PATH

添加到PATH

echo 'export PATH="$HOME/.dotnet:$PATH"' >> ~/.zshrc source ~/.zshrc
undefined
echo 'export PATH="$HOME/.dotnet:$PATH"' >> ~/.zshrc source ~/.zshrc
undefined

Linux Installation Methods

Linux安装方式

Ubuntu/Debian

Ubuntu/Debian

bash
undefined
bash
undefined

Ubuntu 22.04 LTS

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
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

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
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

安装SDK

sudo apt-get update sudo apt-get install -y dotnet-sdk-8.0
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
undefined
sudo apt-get install -y aspnetcore-runtime-8.0
undefined

Fedora/RHEL/CentOS

Fedora/RHEL/CentOS

bash
undefined
bash
undefined

Fedora 39

Fedora 39

sudo dnf install dotnet-sdk-8.0
sudo dnf install dotnet-sdk-8.0

RHEL/CentOS (register Microsoft repository first)

RHEL/CentOS(先注册微软软件源)

sudo dnf install https://packages.microsoft.com/config/rhel/9/packages-microsoft-prod.rpm sudo dnf install dotnet-sdk-8.0
undefined
sudo dnf install https://packages.microsoft.com/config/rhel/9/packages-microsoft-prod.rpm sudo dnf install dotnet-sdk-8.0
undefined

Arch Linux

Arch Linux

bash
undefined
bash
undefined

Install from official repositories

从官方软件源安装

sudo pacman -S dotnet-sdk
sudo pacman -S dotnet-sdk

Install runtime only

仅安装运行时

sudo pacman -S aspnet-runtime
undefined
sudo pacman -S aspnet-runtime
undefined

Alpine Linux

Alpine Linux

bash
undefined
bash
undefined

Add Microsoft repository

添加微软软件源

wget https://dot.net/v1/dotnet-install.sh chmod +x dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sh chmod +x dotnet-install.sh

Install .NET 8

安装.NET 8

./dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet
./dotnet-install.sh --channel 8.0 --install-dir /usr/share/dotnet

Add to PATH

添加到PATH

export PATH="$PATH:/usr/share/dotnet"
undefined
export PATH="$PATH:/usr/share/dotnet"
undefined

Version Management with global.json

使用global.json管理版本

Control which .NET SDK version your project uses:
bash
undefined
控制项目使用的.NET SDK版本:
bash
undefined

Create global.json for .NET 8

创建针对.NET 8的global.json

dotnet new globaljson --sdk-version 8.0.100
dotnet new globaljson --sdk-version 8.0.100

View current global.json

查看当前global.json

cat global.json

```json
{
  "sdk": {
    "version": "8.0.100",
    "rollForward": "latestPatch"
  }
}
Roll-forward policies:
  • latestPatch
    - Use latest patch (8.0.x)
  • latestFeature
    - Use latest feature band (8.x.x)
  • latestMinor
    - Use latest minor (x.x.x)
  • disable
    - Exact version required
cat global.json

```json
{
  "sdk": {
    "version": "8.0.100",
    "rollForward": "latestPatch"
  }
}
向前兼容策略:
  • latestPatch
    - 使用最新补丁版本(8.0.x)
  • latestFeature
    - 使用最新功能版本(8.x.x)
  • latestMinor
    - 使用最新次要版本(x.x.x)
  • disable
    - 必须使用精确版本

Deep Dive

深入解析

SDK vs Runtime Architecture

SDK与运行时架构

SDK Components:
.NET SDK 8.0.100
├── Runtime (8.0.0)
├── Compiler (Roslyn)
├── CLI Tools (dotnet build, run, publish)
├── Templates (dotnet new)
└── MSBuild
Runtime-Only Components:
.NET Runtime 8.0.0
├── CoreCLR (execution engine)
├── Base Class Libraries
└── Framework assemblies
Size comparison:
  • SDK: ~200-400 MB
  • Runtime: ~50-150 MB
SDK组件:
.NET SDK 8.0.100
├── 运行时 (8.0.0)
├── 编译器 (Roslyn)
├── CLI工具 (dotnet build, run, publish)
├── 模板 (dotnet new)
└── MSBuild
仅运行时组件:
.NET Runtime 8.0.0
├── CoreCLR(执行引擎)
├── 基础类库
└── 框架程序集
体积对比:
  • SDK: ~200-400 MB
  • 运行时: ~50-150 MB

Installing Multiple Versions Side-by-Side

多版本并行安装

.NET supports multiple versions installed simultaneously:
bash
undefined
.NET支持同时安装多个版本:
bash
undefined

List all installed SDKs

列出所有已安装的SDK

dotnet --list-sdks
dotnet --list-sdks

Output:

输出:

6.0.420 [/usr/local/share/dotnet/sdk]

6.0.420 [/usr/local/share/dotnet/sdk]

7.0.410 [/usr/local/share/dotnet/sdk]

7.0.410 [/usr/local/share/dotnet/sdk]

8.0.100 [/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
sudo apt-get install dotnet-sdk-7.0 # 添加到现有安装中

Project selects version via global.json

项目通过global.json选择版本

cd my-project cat global.json
cd my-project cat global.json

{ "sdk": { "version": "7.0.410" } }

{ "sdk": { "version": "7.0.410" } }

dotnet --version
dotnet --version

Output: 7.0.410 (selected by global.json)

输出: 7.0.410(由global.json指定)

undefined
undefined

Offline Installation

离线安装

For air-gapped environments or restricted networks:
适用于隔离环境或受限网络:

Windows

Windows

powershell
undefined
powershell
undefined

Download offline installer

下载离线安装器

Select: x64 | Binaries

选择: x64 | Binaries

Extract to destination

解压到目标路径

Expand-Archive dotnet-sdk-8.0.100-win-x64.zip -DestinationPath "C:\Program Files\dotnet"
Expand-Archive dotnet-sdk-8.0.100-win-x64.zip -DestinationPath "C:\Program Files\dotnet"

Add to PATH

添加到PATH

$env:PATH = "C:\Program Files\dotnet;$env:PATH" [Environment]::SetEnvironmentVariable("PATH", $env:PATH, "Machine")
undefined
$env:PATH = "C:\Program Files\dotnet;$env:PATH" [Environment]::SetEnvironmentVariable("PATH", $env:PATH, "Machine")
undefined

Linux

Linux

bash
undefined
bash
undefined

Download tarball

下载压缩包

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
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
undefined
sudo ln -s /usr/local/share/dotnet/dotnet /usr/local/bin/dotnet
undefined

Docker Installation

Docker安装

dockerfile
undefined
dockerfile
undefined

Use official .NET SDK image

使用官方.NET SDK镜像

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /app

Copy and restore project

复制并还原项目

COPY *.csproj ./ RUN dotnet restore
COPY *.csproj ./ RUN dotnet restore

Build application

构建应用

COPY . ./ RUN dotnet publish -c Release -o out
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"]
undefined
FROM mcr.microsoft.com/dotnet/aspnet:8.0 WORKDIR /app COPY --from=build /app/out . ENTRYPOINT ["dotnet", "MyApp.dll"]
undefined

Common Troubleshooting

Common Troubleshooting

PATH Not Updated

PATH未更新

bash
undefined
bash
undefined

Verify dotnet location

验证dotnet位置

which dotnet # macOS/Linux where.exe dotnet # Windows
which dotnet # macOS/Linux where.exe dotnet # Windows

If not found, add to PATH manually:

若未找到,手动添加到PATH:

macOS/Linux (bash)

macOS/Linux (bash)

echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.bashrc source ~/.bashrc
echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.bashrc source ~/.bashrc

macOS (zsh)

macOS (zsh)

echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.zshrc source ~/.zshrc
echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.zshrc source ~/.zshrc

Windows (PowerShell)

Windows (PowerShell)

$env:PATH = "$env:PATH;C:\Program Files\dotnet"
undefined
$env:PATH = "$env:PATH;C:\Program Files\dotnet"
undefined

SDK Not Found After Installation

安装后SDK未找到

bash
undefined
bash
undefined

Check installation location

检查安装路径

dotnet --info
dotnet --info

Look for "Base Path:" in output

在输出中查找"Base Path:"字段

Register installation manually (Linux)

手动注册安装(Linux)

sudo ln -s /usr/local/share/dotnet/dotnet /usr/bin/dotnet
sudo ln -s /usr/local/share/dotnet/dotnet /usr/bin/dotnet

Clear NuGet cache if corrupted

若NuGet缓存损坏,清理缓存

dotnet nuget locals all --clear
undefined
dotnet nuget locals all --clear
undefined

Version Conflicts

版本冲突

bash
undefined
bash
undefined

Remove specific SDK version

移除特定SDK版本

sudo apt-get remove dotnet-sdk-7.0 # Linux winget uninstall Microsoft.DotNet.SDK.7 # Windows
sudo apt-get remove dotnet-sdk-7.0 # Linux winget uninstall Microsoft.DotNet.SDK.7 # Windows

Force project to use available SDK

强制项目使用可用SDK

Edit global.json:

编辑global.json:

{ "sdk": { "version": "8.0.100", "rollForward": "latestMinor" # More permissive } }
undefined
{ "sdk": { "version": "8.0.100", "rollForward": "latestMinor" # 更宽松的兼容策略 } }
undefined

References

参考资料

Comprehensive Details: See reference.md for:
  • Complete platform-specific installation commands
  • Advanced version management strategies
  • Enterprise deployment patterns
  • CI/CD integration examples
  • Performance optimization tips
Official Documentation:
详细内容: 查看reference.md获取:
  • 完整的平台专属安装命令
  • 高级版本管理策略
  • 企业级部署模式
  • CI/CD集成示例
  • 性能优化技巧
官方文档: