VisualStudioCodeを使っているうちに、いつのまにかエラーメッセージが出るようになってしまいました。
バツボタンを押せば消えてそのまま使えますが、毎回出るのでわずらわしいです。
エラーメッセージ内容
Failed to find up to date dotnet cli on the path.
メッセージ内容は、
パス上にある.NET コマンド ライン インターフェイス (CLI) のバージョンが最新ではないと言っています。
原因
結果的に筆者の場合は、環境変数のPATHが原因でした。
実際には、本当にCLIのバージョンが最新でない場合もあると思います。
対応1 最新のDOTNETをインストールする
エラーメッセージの中にあるボタン「Get the SDK」を押して、最新のDOTNETでない場合は、インストールしてみてください。
すでにインストールされているバージョンを確認する場合は、コマンドプロンプトから以下のコマンドで見れます。
dotnet --info
対応2 環境変数のPATHを変える
.NETのバージョンが64bitと32bitが混在している場合、環境変数のPATHにはおそらく両方のパスが設定されていると思います。
CLIの場所は通常通りインストールしている場合は以下の場所です。
・64bitパス C:\Program Files\dotnet
・32bitパス C:\Program Files (x86)\dotnet
PATH上に、先に記載された方を読み込んでしまうため、VisualStudioCodeのbitと同じbitのパスが先に来るように順序を変更してください。
※VisualSudioCode以外で32bitのCLI使っているものがあれば注意。
※筆者の場合64bitのCLIが最新、32bitは最新ではない状態だったので、32bitを最新にするだけでも対応できたのかもしれない。
対応3 とりあえずエラー出さなくする
どうにもこうにも対応できない場合は、とりあえずエラーを出さなくすることはできそうです。(根本的な解決になってませんが)
CSharpの拡張設定の設定にある「Suppress Dotnet Install Warning 」の設定のチェックを付けることでエラーメッセージは出てこなくなります。
<拡張機能の設定画面>
@ext:ms-dotnettools.csharp
<Jsonファイル定義の場合>
"csharp.suppressDotnetInstallWarning": false
参考
CSharpの拡張設定の中に以下の定義があるので、直接CLIのパスなどを通してみましたが、この変更ではうまくいきませんでした。
omnisharp.sdkPath
omnisharp.dotnetPath