VSCodeでC#の拡張機能を入れたのにエラーが出る
困ったことにエラーが消えなかったのです。
全く新しいMacOS(MacBook Pro Catalina 10.15.1)にVisual Studio Code(1.39.2)をいれて、C#の拡張機能(Omnisharp)をいれたところ、次のエラーがでました。
「The .NET CLI tools cannot be located. .NET Core debugging will not be enabled. Make sure .NET CLI tools are installed and are on the path.」
dotnet sdkが入っていないよってことなので、リンク先からダウンロードしてインストールします。
- https://dotnet.microsoft.com/download
だけど、エラーは消えません。
コンソール(OUTPUTを選択して、C#を選ぶ)と「Failed to spawn 'dotnet --info'」と出ています。
ターミナルでdotnet --infoを打ってみたら、ちゃんとでます。
bash-3.2$ dotnet --info
.NET Core SDK (global.json を反映):
Version: 3.0.100
Commit: 04339c3a26
ランタイム環境:
OS Name: Mac OS X
OS Version: 10.15
OS Platform: Darwin
RID: osx.10.15-x64
Base Path: /usr/local/share/dotnet/sdk/3.0.100/
Host (useful for support):
Version: 3.0.0
Commit: 7d57652f33
.NET Core SDKs installed:
3.0.100 [/usr/local/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
なぜや。
ためしたこと
VSCode、拡張機能、dotnet sdkの再インストール
それでうまく行けるなら記事にしません。
なお、VSCodeと拡張機能の削除は下記を参考に完全削除しました。
また、再インストール時にはbrew cask install dotnet-sdk
を使ってみました。
pathの追加
パスが通っていないかと思ったので、パスを通したけどうまくいかず。
ということで、下記を参考にシンボリックリンクをはってみたのですがこれもうまくいかず。。。
うまくいったのは
ダウンロード先を変えたらうまく行きました。
なにこれ。
エラーが出ていたとき(brew使ったとき)は「dotnet-sdk-3.0.100-osx-x64.pkg」というファイルだったのです。
これを下記リンクからダウンロードした「dotnet-sdk-3.0.100-osx-gs-x64.pkg」でインストールしたらうまく行きました。
なにこれ。
比較してみると、うまくいったバージョンは.Net Core SDKのcommitが[02df19ceac]になっていました。
(どっちが新しいのかはわかりませんが)
brewのfomulaもgsなしの.pkgになっていました。
(dotnet-sdkとdotnet両方とも)
結局、なぜdotnetコマンドが通らなかったかは(あと、-gsのありなしの.pkgの違いも)わかりませんでしたが、うごいたのでよしとします。
うまくいっている人と同じやり方をしたほうがいいですよね。。。南無三。