LoginSignup
1
0

WSL(Ubuntu)に.NET SDK 7.0をインストールしてハマった

Posted at

ハマったこと

  • WSL2上のUbuntu 22.04では通常のリポジトリに.NET SDK 7.0が含まれないためMicrosoftパッケージリポジトリからインストールする必要がある
  • Microsoftパッケージリポジトリからインストールしたがdotnet --infoコマンドを実行してもSDKがインストールされていないと表示される
  • 実はディストリビューションのリポジトリからのインストールと重複していたため、Microsoftパッケージリポジトリからのインストール優先度を下げて再インストールした
.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.10 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.10 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

インストール手順

Microsoftパッケージリポジトリの追加

# Get Ubuntu version
declare repo_version=$(if command -v lsb_release &> /dev/null; then lsb_release -r -s; else grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"'; fi)

# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/ubuntu/$repo_version/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb

# Clean up
rm packages-microsoft-prod.deb

# Update packages
sudo apt update

.NET SDK 7.0 のインストール

# Install SDK 7.0
sudo apt install dotnet-sdk-7.0

# Display .NET command information
dotnet --info

ここで以下のように「No SDKs were found.」と表示されていたら、正しくインストールされていないので

.NET SDKs installed:
  No SDKs were found.

リポジトリ優先度を設定して再インストール

# Uninstall .NET libraries
sudo apt remove 'dotnet*' 'aspnet*' 'netstandard*'

# Add priority
sudo tee /etc/apt/preferences << EOF > /dev/null
Package: dotnet* aspnet* netstandard*
Pin: origin "packages.microsoft.com"
Pin-Priority: -10
EOF

# Update packages
sudo apt update

# Install SDK 7.0
sudo apt install dotnet-sdk-7.0

インストール結果

成功したら以下のように.NET SDKs installedに7.0が表示される

.NET SDKs installed:
  7.0.110 [/usr/lib/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.10 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.10 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0