Я пытаюсь опубликовать проект .NET Core. У меня установлено несколько версий .NET, и у меня есть файл global.json, в котором указано, что для этого проекта я хочу использовать .NET 8.0.3.
Однако сборка по-прежнему не удается, поскольку он пытается использовать .NET 6 (который я также установил в своей системе).
Я попробовал способы устранения неполадок, доступные в этой документации.
Что я делаю
У меня целевая архитектура для моего проекта установлена как net8.0, вот так:
net8.0
Я пытаюсь опубликовать свой проект с помощью следующих команд:
dotnet new globaljson --sdk-version 8.0.303
dotnet --version // outputs 8.0.303
dotnet publish -c Release -r win-x64 --self-contained
Команда публикации выдает следующую ошибку:
ошибка NETSDK1045: текущий .NET SDK не поддерживает не поддерживает таргетинг на .NET 8.0. Либо используйте .NET 6.0 или более раннюю версию, либо используйте версию .NET SDK, поддерживающую .NET 8.0.
Попытки решения >
- Проверены переменные среды PATH, чтобы убедиться в отсутствии жестко запрограммированного пути к определенной версии .NET
- Убедилось, что в дереве файлов не существует файла Directory.build.props.
- Убедилось, что переменная среды MSBuildSDKPath не установлена.
- Эти команды выполняются в PowerShell, поэтому Visual Studio не является проблемой.
- Подтверждено, что доступен SDK правильной целевой архитектуры (SDK находится в Program Files, не Program Files (x86))
Выходные данные при запуске dotnet -- информацию можно найти здесь.
Результаты запуска "c:\Program Files (x86)\dotnet\dotnet" --list-sdks:
The term 'c:\Program Files (x86)\dotnet\dotnet' is not recognized as the name of a cmdlet, function, script file,
error or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
error try again.
Выходные данные при запуске «c:\Program Files\dotnet\dotnet» --list-sdks
3.1.406 [c:\Program Files\dotnet\sdk]
5.0.408 [c:\Program Files\dotnet\sdk]
5.0.413 [c:\Program Files\dotnet\sdk]
6.0.402 [c:\Program Files\dotnet\sdk]
8.0.303 [c:\Program Files\dotnet\sdk]
Подробнее здесь: https://stackoverflow.com/questions/791 ... -json-file