Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

vscodeの拡張機能のC# dev kitが使えなくなった

解決したいこと

該当環境
Unity:2022.3.12f1
VS Code:バージョンの確認方法が分からず
Unityで個人ゲーム開発をしているのですが、今日の朝になって突然、開発でめちゃめちゃお世話になっている静的解析ツールが使えなくなりました。昨晩のシャットダウン直前までは普通に使えていたのと、昨日から今日にかけてこれといって操作をしていないのでさっぱり原因が分かりません。

あるとしたら昨日が誕生日だったくらい?

実はあんまり理解していない状態で拡張機能をインポートしていたので、どれが使えなくなったのか分かっていませんが、エラー表示以外にもプロジェクト内でメソッドや変数の参照を簡単に確認出来たりスクリプトの補完も出来ていたので、拡張機能のC# dev kitあたりが該当すると考えています
スクリーンショット 2024-11-15 121206.png

発生している問題・エラー

UnityでVSCodeを開くとC#でこれが出力されます
(ユーザーファイル名は名字入れちゃってたのでHogeに変更しています)

2024-11-15 11:47:59.072 [info] Failed to find dotnet info from path, falling back to acquire runtime via ms-dotnettools.vscode-dotnet-runtime
2024-11-15 11:47:59.072 [info] No compatible .NET runtime found. Minimum required version is 8.0.10.
2024-11-15 11:47:59.897 [info] Dotnet path: c:\Users\Hoge\AppData\Roaming\Code\User\globalStorage\ms-dotnettools.vscode-dotnet-runtime\.dotnet\8.0.11~x64\dotnet.exe
2024-11-15 11:47:59.897 [info] Activating C# + C# Dev Kit + C# IntelliCode...
2024-11-15 11:47:59.929 [error] [stderr] Failed to load System.Private.CoreLib.dll (error code 0x80070002)
Path: c:\Users\Hoge\AppData\Roaming\Code\User\globalStorage\ms-dotnettools.vscode-dotnet-runtime\.dotnet\8.0.11~x64\shared\Microsoft.NETCore.App\8.0.11\System.Private.CoreLib.dll

2024-11-15 11:47:59.929 [error] [stderr] Error message: Could not load file or assembly 'c:\Users\Hoge\AppData\Roaming\Code\User\globalStorage\ms-dotnettools.vscode-dotnet-runtime\.dotnet\8.0.11~x64\shared\Microsoft.NETCore.App\8.0.11\System.Private.CoreLib.dll'. 

2024-11-15 11:47:59.929 [error] [stderr] Failed to create CoreCLR, HRESULT: 0x80070002

2024-11-15 11:47:59.933 [info] Language server process exited with 2147516553
2024-11-15 11:47:59.936 [info] [Error - 11:47:59] Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.
2024-11-15 11:47:59.936 [info] Error: Language server process exited unexpectedly
	at ChildProcess.<anonymous> (c:\Users\Hoge\.vscode\extensions\ms-dotnettools.csharp-2.55.29-win32-x64\dist\extension.js:2:1178170)
	at ChildProcess.emit (node:events:531:35)
	at ChildProcess._handle.onexit (node:internal/child_process:294:12)

C# dev kitの出力はこのようになっています

Starting Spawn .NET server...
Starting opening a solution...
Starting processing the solution file "c:\Users\Hoge\F.S.C\F.S.C\F.S.C.sln" in Dev Kit server...
Using preinstalled .NET runtime at "C:\Program Files\dotnet\dotnet.exe" to load Dev Kit processes.
Found installed dotnet location "C:\Program Files\dotnet\dotnet.exe" to load projects.
.NET server started and IPC established in 1323ms
Completed Spawn .NET server (1972ms)
Completed processing the solution file "c:\Users\Hoge\F.S.C\F.S.C\F.S.C.sln" in Dev Kit server (2112ms)
Starting restoring NuGet packages...
Selected configuration: <Default>, active configuration: Debug|Any CPU
Completed opening a solution (2119ms)
Starting command: "dotnet.exe" restore C:\Users\Hoge\F.S.C\F.S.C\F.S.C.sln --interactive...
Completed command: "dotnet.exe" restore C:\Users\Hoge\F.S.C\F.S.C\F.S.C.sln --interactive (1572ms)
Completed restoring NuGet packages (1574ms)
Starting Query for all projects...
Completed Query for all projects (27ms)
IdeBenefitsSource: Failed to fetch entitlements. Error: 'Error: Request to https://api.subscriptions.visualstudio.microsoft.com/Me/Entitlements/IDEBenefits?api-version=2023-03-26&caller=vscode failed with status code: 401 and response ""'

自分で試したこと

LanguageServerがどうとかdotnetのパスがどうとか色々調べてみたのですが、.NETとかは素人なのでさっぱり分からないです...
出力内容もどこまで正常に動いていてどこが不具合の原因なのかさっぱり分からないです
今はとにかく開発作業を再開したいので、原因と解決方法が知りたいです

0

1Answer

パスに含まれる識別子から判断すると、拡張機能 ms-dotnettools.csharp (C#) か ms-dotnettools.vscode-dotnet-runtime (.NET Install Tool) でエラーが出ていそうです。

.NET Install Tool は数日前にリリースされたバージョンにバグがあり、起動時にエラーが出るとのことです。 https://github.com/dotnet/vscode-dotnet-runtime/issues/2021

エラーメッセージは違うようですが、この問題が関係しているかもしれません。最新バージョンでは修正されているので、上記2つの拡張機能をアップデートするか、削除して再インストールを試してみてください。

1Like

Comments

  1. @TmgHrkk

    Questioner

    回答ありがとうございます。
    拡張機能のアップデートが行われて、その中にバグが紛れていたのですね。
    リンクに従ってC#の拡張機能のバージョンを2.50.27にロールバックしたところ拡張機能が再び使えるようになりました。しばらくはこのバージョンで開発を続けたいと思います。

Your answer might help someone💌