Получение «NETSDK1045 Текущий пакет SDK для .NET не поддерживает .NET Core 3.0 в качестве цели» при использовании размещенного шаблона Blazor Asp.NetCore

Я установил предварительную версию .NetCore 3.0 и попытался запустить шаблон blazor Blazor (ASP.NET Core hosted) в Visual Studio 2019:

Получение «NETSDK1045 Текущий пакет SDK для .NET не поддерживает .NET Core 3.0 в качестве цели» при использовании размещенного шаблона Blazor Asp.NetCore

Ошибка, которая произошла, была следующей:

NETSDK1045 The current .NET SDK does not support .NET Core 3.0 as a target. Either target .NET Core 2.2 or lower, or use a .NET SDK version that supports .NET Core 3.0.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
14 151
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Ответ принят как подходящий

После этого комментарий мне удалось решить проблему установкой x86 версии .NET Core 3.0 дополнительно к x64 версии. Сборка заработала после перезапуска Visual Studio (2019).

Я получил ту же ошибку и решил ее, установив флажок «Использовать предварительные версии .NET Core SDK (требуется перезагрузка)». Откройте «Инструменты» > «Параметры» и попробуйте посмотреть «Предварительные версии функций» или «.Net Core» в зависимости от вашей версии Visual Studio. Следите за обновлениями VS, они могут отключить его.

За эти дни мне пришлось преодолеть эту проблему на нескольких разных машинах/контейнерах для разработки: в итоге я нашел не менее 6 различных причин, которые могли вызвать такую ​​ошибку:

  1. Отсутствует пакет SDK для .NET Core 3 (x86 или x64)
  2. Предварительная поддержка .NET Core SDK не включена в VS2019
  3. VS2017 вместо VS2019
  4. Неверный путь SDK в переменных среды PATH.
  5. Неверный путь SDK в переменных среды MSBuildSDKsPath.
  6. Неправильная версия SDK в файле проекта global.json.

Обходные пути для этих сценариев довольно просты для понимания, вам в основном нужно либо установить правильный SDK, либо удалить «нарушающие» ссылки на SDK. Тем не менее, я сделал все возможное, чтобы задокументировать их все в эта почта в своем блоге.

Бинго. Несмотря на то, что в ошибке говорилось, что у меня нет 3.1, ошибка действительный заключалась в том, что global.json по-прежнему явно назывался 3.0.

Sören Kuklau 13.11.2019 16:20

Видел твой блог до того, как попал сюда. Я столкнулся с этой проблемой в конвейере сборки Azure.

Ronald Abellano 12.02.2020 09:02

Я также сталкиваюсь с этим в конвейере сборки Azure. Кто-нибудь знает, как лучше это решить?

Justin 05.10.2020 23:13

Это очень хакерское решение, но, по крайней мере, оно сработало. Допустим, вы установили SDK для версии 3.0.100-rc1-014190. Он отображается в dotnet --list-sdks, как и ожидалось, но по-прежнему не обнаруживается Visual Studio, и вы получаете ту же ошибку NETSDK1405 при попытке собрать или протестировать что-либо из интерфейса командной строки dotnet.

Посмотрите в каталоге установки dotnet SDK (обычно C:\Program Files\dotnet\sdk). Там вы должны увидеть SDK для предварительного просмотра. Либо создайте копию, либо переименуйте существующую папку, чтобы удалить суффикс предварительной версии. Например, 3.0.100-rc1-014190 вместо этого станет 3.0.100, вот так:

Благодаря этому предварительная поддержка .Net Core 3 наконец-то заработала в VS2019 Preview 4 и интерфейсе командной строки dotnet.

Для меня это было так же просто, как включить предварительный просмотр в Visual Studio 2019. К сожалению, большинство сообщений, которые показывают, как это сделать, я считаю устаревшими. Наконец-то я наткнулся на это сообщение о переполнении стека Как включить предварительный просмотр SDK .NET Core 3 в VS2019?. Они переместили флажок, и он не был включен по умолчанию для меня.

Это была неприятная проблема, которую нужно было отследить, и после выполнения всех обновлений VS, но все еще не имея возможности установить, я отследил ее до переменной среды. Попробуйте удалить MSBuildSDKsPath и посмотрите, решит ли это вашу проблему.

для меня решением было удалить переменную пути MSBuildSDKsPath - Из-за изучения предварительных версий SDK я в какой-то момент объявил эту переменную, чтобы исправить другую ошибку SDK - похоже, что эта сила устанавливает используемую версию. Так что в моем случае он был установлен на 3.0.100 и приводил к ошибкам при попытке использовать 3.1.300.

Другие вопросы по теме