为什么dotnet构建不使用global.json上的指定SDK?

时间:2019-06-13 19:31:24

标签: .net-core asp.net-core-cli

我有一个包含以下内容的global.json

{
  "sdk": {
    "version": "2.2.300"
  }
}

这是dotnet --list-sdks的输出

2.0.3 [C:\Program Files\dotnet\sdk]
2.1.105 [C:\Program Files\dotnet\sdk]
2.1.300 [C:\Program Files\dotnet\sdk]
2.2.300 [C:\Program Files\dotnet\sdk]

这是donet --list-runtimes的输出

Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

当我进行dotnet构建时,出现以下错误

  

.NET Core的Microsoft(R)Build Engine版本16.1.76 + g14b0a930a7   版权所有(C)Microsoft Corporation。保留所有权利。

     

C:\ Program   文件\ dotnet \ sdk \ 2.1.300 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets(137,5):   错误:当前的.NET SDK不支持定位.NET Core 2.2。   目标.NET Core 2.1或更低版本,或使用.NET SDK的版本   支持.NET Core 2.2的计算机。   [C:\ solutionfolder \ projectfolder \ Project.csproj]   C:\程序   文件\ dotnet \ sdk \ 2.1.300 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets(137,5):   错误:当前的.NET SDK不支持定位.NET Core 2.2。   目标.NET Core 2.1或更低版本,或使用.NET SDK的版本   支持.NET Core 2.2的计算机。   [C:\ solutionfolder \ projectfolder \ Project.csproj]

     

构建失败。

     

C:\ Program   文件\ dotnet \ sdk \ 2.1.300 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets(137,5):   错误:当前的.NET SDK不支持定位.NET Core 2.2。   目标.NET Core 2.1或更低版本,或使用.NET SDK的版本   支持.NET Core 2.2的计算机。   [C:\ solutionfolder \ otherprojectfolder \ OtherProject.csproj]   C:\程序   文件\ dotnet \ sdk \ 2.1.300 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets(137,5):   错误:当前的.NET SDK不支持定位.NET Core 2.2。   目标.NET Core 2.1或更低版本,或使用.NET SDK的版本   支持.NET Core 2.2的计算机。   [C:\ solutionfolder \ otherprojectfolder \ OtherProject.csproj]       0警告       2个错误

我需要帮助,这让我发疯了

1 个答案:

答案 0 :(得分:0)

好,找到解决方法,看来这是环境系统变量

MSBuildSDKsPath指向.NET Core 2.1.300 Sdks文件夹,删除该变量可以解决此问题。