Почему сборка dotnet не использует указанный SDK в global.json? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть 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, я получаю следующую ошибку

Microsoft (R) Build Engine версия 16.1.76 + g14b0a930a7 для .NET Core Авторское право (C) Microsoft Corporation. Все права защищены.

C: \ Program Файлы \ DotNet \ SDK \ 2.1.300 \ SDKs \ Microsoft.NET.Sdk \ цели \ 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 \ цели \ 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 \ цели \ 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: \ Program Файлы \ DotNet \ SDK \ 2.1.300 \ SDKs \ Microsoft.NET.Sdk \ цели \ 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 голосов
/ 13 июня 2019

Хорошо, нашел решение, похоже, эта системная переменная среды

MSBuildSDKsPath указывал на папку .NET Core 2.1.300 Sdks, удаление этой переменной решало проблему.

...