WSL2で.NET SDK使ってコンパイルしようとすると「dotnet buildがありません」といわれます。ランタイムはインストールされており、SDKも所定のフォルダー(/usr/share/dotnet/sdk/
)にあります。
dotnet buildができない。
SDKはちゃんと所定のフォルダーに入っているが、--list-sdks
で出てこない。私はUbuntuのフィードではなく、Microsoftのフィードを使っているのですが、どうもこれがよくないようで、GitHubのissueにも.NET 6時代から割とたくさん登録されています。
この方法でやっていますが、どうもダメなようです。で、中の人がissueに書いてくれています。
私はMicrosoftのパッケージフィードを使うのでsenario2です。これをやる前にインストール済みの.NETは完全に消しておきましょう。
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
フィードを登録しなおします。
sudo touch /etc/apt/preferences
preferenceファイルを作成します。そのあとこのファイルを編集して、以下の内容を追記します。
Package: * Pin: origin "packages.microsoft.com" Pin-Priority: 1001
これはリポジトリの優先度を設定するファイルなのだそうです。
これでapt-update & installします。
ちゃんとインストールされました!このPCではあまりWSL2使っていなかったので、インストールできてなかったことも気づいてませんでした。