dotnet-install

安装量: 76
排名: #10200

安装

npx skills add https://github.com/rysweet/amplihack --skill dotnet-install

.NET Installation Skill

Automated .NET SDK and runtime installation with intelligent platform detection, version management, and troubleshooting guidance.

Quick Start Check Current Installation 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]

Platform Detection

The skill automatically detects your operating system and recommends the best installation method:

Detected: macOS 14.2 (arm64)

Recommended: Official installer package (.pkg)

Alternative: Homebrew (brew install dotnet)

Quick Install (Recommended Methods)

Windows (WinGet):

Install .NET 8 SDK (LTS)

winget install Microsoft.DotNet.SDK.8

Verify installation

dotnet --version

Output: 8.0.100

macOS (Official Installer):

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 vs Runtime Decision

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

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

Practical Guide Windows Installation Methods Method 1: WinGet (Recommended)

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

Method 2: Visual Studio Installer

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

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

Installation steps:

Launch Visual Studio Installer Click "Modify" on your installation Select ".NET desktop development" workload Apply changes Method 3: Standalone Installer

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

Method 4: PowerShell Script

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 Installation Methods Method 1: Official Installer Package (Recommended)

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

Method 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

Method 3: Install Script

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 Installation Methods 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"

Version Management with global.json

Control which .NET SDK version your project uses:

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

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 Deep Dive SDK vs Runtime Architecture

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 Installing Multiple Versions Side-by-Side

.NET supports multiple versions installed simultaneously:

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)

Offline Installation

For air-gapped environments or restricted networks:

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"

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 Installation

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

Common Troubleshooting PATH Not Updated

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 Not Found After Installation

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

Version Conflicts

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

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:

.NET Installation Guide Download .NET SDK vs Runtime global.json Reference

返回排行榜