状況
.NET Core 3.0 Preview SDKから、Release版にアップデートした環境で、dotnet new
したプロジェクトをdotnet build
すると、error MSB4236が発生した。
C:\workspace>dotnet new console -n someproject
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on someproject\someproject.csproj...
C:\workspace\someproject\someproject.csproj の復元が 47.43 ms で完了しました。
Restore succeeded.
C:\workspace>cd someproject
C:\workspace\someproject>dotnet build
.NET Core 向け Microsoft (R) Build Engine バージョン 16.3.0+0f4c62fea
Copyright (C) Microsoft Corporation.All rights reserved.
C:\workspace\someproject\someproject.csproj : error MSB4236: 指定された SDK 'Microsoft.NET.Sdk' は見つかりま せんでした。
ビルドに失敗しました。
C:\workspace\someproject\someproject.csproj : error MSB4236: 指定された SDK 'Microsoft.NET.Sdk' は見つかりま せんでした。
0 個の警告
1 エラー
経過時間 00:00:00.05
dotnet --list
で表示されるパスには、ファイルは有りそうだった。
古い.NET Core 2.2 SDKをアンインストールして、さらに.NET Core 3.0 SDKをアンインストールした後に再インストールしたが、状況に変化なし。
PCを再起動しても変わらない。
原因
ここらへんを見てたら、環境変数MSBuildSDKsPath
について言及されていた。
結構前に、vscodeでビルドするためだったかWindowsDesktopをビルドするためだったかで追加していた。
MSBuildSDKsPath=C:\Program Files\dotnet\sdk\3.0.100-preview7-012821\Sdks
.NET Core 3.0 はインプレースアップデートなので、
MSBuildSDKsPath
を消したら無事ビルドできた。