web-dev-qa-db-ja.com

MSBUILDがエラーをスローします:指定されたSDK 'Microsoft.NET.Sdk'が見つかりませんでした

私は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)
23

.Net Core 2.0のインストールをいじってみたところ、このエラーが発生しました。 dotnet restoredotnet 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の場所に同じ名前のフォルダーが存在するはずです。

25

x64 .Net Core SDKインストーラーをインストールしようとしたときに同じ問題が発生しました。次のイベントdotnet --infoコマンドは、SDKが見つからなかったことを示します。

そのため、x86 .Net Core SDKインストーラーをインストールしてください。それはあなたを助けることができます。

0
Vadzim Papko

.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 
0
MNF