私はmsbuildコマンドラインを使用してソリューションを構築しようとしていますが、このエラーが発生し続けます:
error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
Msbuildのバージョンは、Microsoft Visual Studio 2017ツールの最新バージョンです。私はWindows Server 2012 R2を使用しており、プロジェクトは.NET Core 2.0を使用しています。
これは私が使用しているコマンドです:
msbuild.exe /p:Configuration=Release /t:restore C:\Projects\MyProject.sln
完全なログ:
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 9/16/2017 3:09:03 PM.
Project "C:\Projects\MyProject.sln" on node 1 (restore target(s)).
ValidateSolutionConfiguration:
Building solution configuration "Release|Any CPU".
Project "C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj" (2) on node 1 (restore target(s)).
C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
Done Building Project "C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj" (restore target(s)) -- FAILED.
Build FAILED.
"C:\Projects\MyProject.sln" (restore target) (1) ->
"C:\Projects\Kernel\Kernel.csproj" (restore target) (2) ->
C:\Projects\Kernel\Kernel.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.
0 Warning(s)
11 Error(s)
.Net Core 2.0のインストールをいじってみたところ、このエラーが発生しました。 dotnet restore
、dotnet build
、またはdotnet msbuild
でも同じエラーが発生します。基本的に、.Net Coreとmsbuildに関係するもの。
MSBuildSDKsPath
環境変数がまだ古い.Net Core 1.1 SDKを指しているため、エラーが発生しました。
問題を修正するために、手動でMSBuildSDKsPath
環境変数を2.0.0のSDKパスを指すように設定しました。x64の場合、これはC:\Program Files\dotnet\sdk\2.0.0\Sdks
にありました。
基本的に、Sdk="Microsoft.NET.Sdk"
が.csproj
にある場合、MSBuildSDKsPath
の場所に同じ名前のフォルダーが存在するはずです。
x64 .Net Core SDKインストーラーをインストールしようとしたときに同じ問題が発生しました。次のイベントdotnet --info
コマンドは、SDKが見つからなかったことを示します。
そのため、x86 .Net Core SDKインストーラーをインストールしてください。それはあなたを助けることができます。
.net core SDK 3.0のインストール後にもエラーが発生した可能性があります。新しいSDKをインストールするたびに、MSBuildSDKsPath環境変数を確認する必要があります。プロジェクトの作成に使用するSDKを対象とする必要があります。 Windows 10でVS2017を使用しています。
2.2 SDKの場合
C:\Program Files\dotnet\sdk\2.2.104\Sdks
3.0プレビュー用
C:\Program Files\dotnet\sdk\3.0.100-preview3-010431\Sdks