はじめに
VisualStudio2022を17.4.0
にアップデートしたら、下記のようなエラーメッセージが出てプロジェクトが開けなくなった。
xxxxx.csproj : error : SDK リゾルバー エラー: "SDK "Microsoft.NET.Sdk.Web" を解決しようとしているときに、SDK リゾルバー "Microsoft.DotNet.MSBuildSdkResolver" に失敗しました。
例外: "Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: マニフェスト 'microsoft.net.workload.mono.toolchain' [C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain\WorkloadManifest.json] 内のワークロード定義 'wasm-tools' が、マニフェスト 'microsoft.net.workload.mono.toolchain.net7' [C:\Program Files\dotnet\sdk-manifests\7.0.100\microsoft.net.workload.mono.toolchain.net7\WorkloadManifest.json] と競合しています
また、プロジェクトの新規作成もできなくなった。新規作成すると、(ファイル自体はいろいろ作成されてるのに、)空っぽのソリューションしか開かない。
解決
.net7のpreview版をインストールしてるとこうなるようなので、.net7のpreview版をアンインストールすべし!
なお、エラーの直接的な原因は、C:\Program Files\dotnet\sdk-manifests\7.0.100
の中がこうなっていること。
microsoft.net.workload.emscripten
とmicrosoft.net.workload.mono.toolchain
の中身が、.net7
がついてるやつの中身と競合してるっぽい。
無印のフォルダはpreview版をインストールしたときに作成され、.net7
のフォルダは新しいやつ。
手動でこの2つのフォルダを削除しても、エラーが起きなくなる。まぁ、ちゃんとアンインストールした方がよさそう。
手動で削除しちゃった場合でも、後でpreview版をアンインストールしてとどめを刺しても大丈夫。