Как использовать SDK для .NET с поддержкой .NET 6.0?
Создал крослатформенное решение на Avalonia:
dotnet new -i avalonia.templates
При попытке запуска на каждом проекте выходит сообщение:
Microsoft.NET.TargetFrameworkInference.targets(141, 5): [NETSDK1045] текущий пакет SDK для .NET не поддерживает целевой объект .NET 6.0. Выберите .NET 5.0 или более раннюю версию либо используйте версию пакета SDK для .NET, которая поддерживает .NET 6.0.
Установлены следующие SDK Tools (правда, непонятно, что из этого нужно для поддержки .NET 6.0):
А правый клик на решении > Manage .NET SDK даёт следующее:
Что нужно доустановить из SDK-инструментов, и нужно ли их где-то отдельно прописывать в проекте или решении?
Ответы (1 шт):
Вначале нужно понять, какие .NET SDK установлены в системе:
$ dotnet --list-sdks
5.0.202 [C:\Program Files\dotnet\sdk]
6.0.402 [C:\Program Files\dotnet\sdk]
7.0.100 [C:\Program Files\dotnet\sdk]
Если нет SDK минимально требуемой версии - доустановить.
Затем в корневом каталоге решения в файле global.json указать нужную версию SDK, причём точь в точь, как в полученном списке:
{
"sdk": {
"version": "6.0.402",
"rollForward": "disable",
"allowPrerelease": true
},
"msbuild-sdks": {
"Microsoft.Build.Traversal": "1.0.43",
"Xamarin.Legacy.Sdk": "0.1.2-alpha6",
"MSBuild.Sdk.Extras": "3.0.22",
"AggregatePackage.NuGet.Sdk": "0.1.12"
}
}


