目覚めのプログラミング

プログラミングに関することを気ままにシンプルを心掛けて書いていきます

VisualStudioCodeを起動したときに右下にメッセージ Failed to find up to date dotnet cli on the path.がでる。

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