kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

WSL2の .NET SDKが認識されない現象を修復する

WSL2で.NET SDK使ってコンパイルしようとすると「dotnet buildがありません」といわれます。ランタイムはインストールされており、SDKも所定のフォルダー(/usr/share/dotnet/sdk/)にあります。

dotnet buildができない。

SDKはちゃんと所定のフォルダーに入っているが、--list-sdksで出てこない。私はUbuntuのフィードではなく、Microsoftのフィードを使っているのですが、どうもこれがよくないようで、GitHubのissueにも.NET 6時代から割とたくさん登録されています。

learn.microsoft.com

この方法でやっていますが、どうもダメなようです。で、中の人がissueに書いてくれています。

github.com

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

これはリポジトリの優先度を設定するファイルなのだそうです。

kwatanabe.hatenablog.jp

これでapt-update & installします。

ちゃんとインストールされました!このPCではあまりWSL2使っていなかったので、インストールできてなかったことも気づいてませんでした。