Текущий .NET SDK не поддерживает таргетинг на .NET Core 2.1. Либо предназначайтесь для .NET Core 2.0 или ниже, либо используйте .NET SDK, который поддерживает .NET Core 2.1

попытались перейти на профессиональную версию visual studio 2017 v 15.6.0 (Preview 7.0)

и установили aspnetcore-runtime-2.1.0-preview1-final-win-x64 и.net core SDK 2.1.4.

Когда я создал новое веб-приложение, я получаю сообщение об ошибке

"В настоящее время.NET SDK не поддерживает таргетинг на.NET Core 2.1. Либо целевой.NET Core 2.0, либо ниже, или используйте версию.NET SDK, которая поддерживает.NET Core 2.1".

Когда я пытаюсь построить существующий проект, я получаю сообщение об ошибке

"В настоящее время.NET SDK не поддерживает таргетинг на.NET Core 2.1. Либо целевой.NET Core 2.0, либо ниже, или используйте версию.NET SDK, которая поддерживает.NET Core 2.1".

Я не вижу ".net core 2.1" в моей целевой структуре

У меня нет файла global.json на моем компьютере

Когда я пытаюсь использовать dotnet --info, я получаю это

c:\source\dnacloud\testapp> dotnet --info Инструменты командной строки.NET(2.1.100)

Product Information:
Version: 2.1.100
Commit SHA-1 hash: b9e74c6

Runtime Environment:
OS Name: Windows
OS Version: 10.0.16299
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.100\

Microsoft .NET Core Shared Framework Host

Version : 2.0.5
Build : 17373eb129b3b05aa18ece963f8795d65ef8ea54

Ответ 1

Проблема здесь в том, что Microsoft путала много людей с тем, как они пронумеровали свои SDK.NET Core.

В исходном сообщении плаката путь C:\Program Files\dotnet\sdk\2.1.100\НЕ отображается как среда выполнения.NET Core 2.1 (но вы так думаете).

Я столкнулся с этим сообщением. В текущем.NET SDK не поддерживается таргетинг.NET Core 2.1 на developercommunity.visualstudio.com, где человек поддержки Microsoft объясняет путаницу:

"Спасибо за ваши отзывы! Мы решили, что эта проблема не является ошибкой. Первый SDK с поддержкой.NET Core 2.1 - 2.1.300-preview1. Мы знаем, что управление версиями путается, поэтому, начиная с 2.1.300, майор версии SDK теперь будут сопоставляться с версиями версии майора.minor. "

Итак... чтобы получить поддержку.NET Core 2.1 для создания через SDK, вам необходимо установить SDK с версией 2.1.300 по крайней мере (поскольку 2.1.2 НЕ является.NET Core 2.1)... да, сбивает с толку. Спасибо Microsoft за некоторое время.

Ответ 2

Это случилось со мной после установки 2.2.100-preview3-009430 и последующего обновления до Visual Studio 15.9.2.

Я решил, включив параметр "Использовать предварительный просмотр .NET Core SDK".

  1. Перейдите: Инструменты> Параметры> Проекты и решения>.NET Core

  2. Установите флажок "Использовать предварительный просмотр .NET Core SDK"

  3. Перезапустите Visual Studio и перестройте решение.

Параметры предварительного просмотра VS

Ответ 3

Установка .NET Core SDK 2.1.300-preview2 сделала .NET Core SDK 2.1.300-preview2 трюк:

ОБНОВЛЕНИЕ: на всякий случай, есть новая версия была выпущена недавно. Вы можете скачать новый .NET Core SDK для 2.2.0-preview1 (который включает ASP.NET 2.2.0-preview1) здесь.

Смотрите также этот ответ, когда вы получаете ошибку, как это в общем:

Текущий .NET SDK не поддерживает таргетинг на .NET Core 2.X

Ответ 4

Я решил проблему. причина в том, что я установил

  • aspnetcore-runtime-2.1.0-preview1-final-win-x64 и
  • .net core SDK 2.1.4-x64.
  • Установка разместила файлы sdk в c:\Program Files\dotnet
  • но VS2017 32bit искал файлы sdk в c:\Program Files(x86)\dotnet.

Чтобы решить эту проблему

  • установлена версия x86 для sdk и aspnetcore,

  • установите переменную окружения MSBuildSDKsPath, чтобы указать на новый путь установки.

  • удалил все устаревшие sdks с панели управления

Не удалось найти вопрос VS2017 Update 3 "Microsoft.NET.Sdk.Web", помогающий в решении этой проблемы.

Ответ 5

https://www.microsoft.com/net/download/visual-studio-sdks

Вы можете скачать SDK с сайта выше

проверьте SDK, который находится на вашем компьютере Путь C:\Program Files\dotnet\sdk

Изменить или проверить целевой фреймворк в visual studio,

Щелкните правой кнопкой мыши на Startup Application или project => Application => Target Framework.

Вы можете изменить структуру и построить решение и восстановить пакеты слепков.

enter image description here

Ответ 6

То же самое случилось со мной, но затем для версии 2.2.NET Core. Я установил последнюю версию .NET Core 2.2 SDK, которая в то время была 2.2.202. Visual studio позволила мне создать новый проект для Core 2.2, но он показывал ошибку:

"Текущий .NET SDK не поддерживает таргетинг на .NET Core 2.2. Либо ориентируйтесь на .NET Core 2.1 или ниже, либо используйте версию .NET SDK, которая поддерживает .NET Core 2.2".

Целевая структура для моего проекта была пуста, и раскрывающийся список не отображал 2.2.

После установки .NET Core SDK 2.2.103 ошибка исчезла, и в раскрывающемся списке отображалось ".NET Core 2.2".

Ответ 7

Остановка IIS для публикации решила проблему. Но сначала мне нужно было установить SDK Net Core 2.1 и обновить Visual Studio.

Ответ 8

Я установил.Net Core SDK 2.1.4 и следил за другими ответами в этом посте без решения моей проблемы. Что, в конце концов, для меня было установкой.Net Core SDK версии 2.1.301 и удалением любой другой версии. Похоже, что SDK 2.1.4 не может нацелиться на.Net Core 2.1, но SDK 2.1.301 выполняет эту работу.

Ответ 9

Убедитесь, что в корневой папке проекта нет файла global.json который заставляет ваш проект использовать только .NET SDK 2.1.

Если у вас есть этот файл global.json, удалите его и перезапустите visual studio.

Как бы неловко это ни звучало, я потратил почти час на переделки и даже скачал несколько версий SDK, чтобы заставить его использовать 2.2

Ответ 10

Похоже, Microsoft поощряет лучшую практику кодирования для тех ранних пользователей новейшего программного обеспечения для разработки в Net Core 2.1, удалив возможность использовать более старое программное обеспечение, где преобладают плохие привычки. Net Core 2.0 и более старые версии - это почти конец жизни, поэтому его нельзя использовать вообще. (https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/)

1) Microsoft удалила ServiceLocator, так как широко считается анти-шаблон, в результате чего трудно понять код.

2) Чтобы улучшить приложения MVC, AccountController был удален из проверки подлинности/авторизации, чтобы поощрять использование страниц Razor, которые реализуют принцип единой ответственности.

Не следует считаться лучшей практикой обходить эти изменения, чтобы в прошлом увеличивать увековечивание программного обеспечения, созданного для снижения стандартов разработки программного обеспечения.

Ответ 11

Я использую Rider, у меня было

Текущий .NET SDK не поддерживает таргетинг на .NET Core 2.2. Либо предназначайтесь для .NET Core 2.1 или ниже, либо используйте версию .NET SDK, которая поддерживает .NET Core 2.2

Я имел:

$ dotnet --list-sdks
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]

Я пытался сохранить только последний SDK, и имел:

Ошибка загрузки проекта "WebApplication3": указанный SDK "Microsoft.NET.Sdk.Web" не найден.

Поэтому я удалил все и переустановил 2.1.602. Сделал новый проект от Rider. И это сработало. Не могу сказать, что я понял, как я решил это...

Проблемы для некоторых народов, похоже, связаны с global.json, см.:
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified-could-not-be-found/

Другие вещи, которые я делал раньше (это, казалось, не решило проблему, но могло бы помочь?):
- Обновление Rider с 2018.3.2 до 2018.3.4 (последняя версия). - Установка Mono (использовалась одна из Unity при просмотре настроек сборки Rider).
- Попытка использовать пользовательский MSBuild из Jetbrain (тот, который используется для Linux) безуспешно.
- Установка всего, что связано с .NET Core из установщика VS.
- Обновление VS сообщества от последних. - Перезагружать.

В Rider/Build, Execution, Deployement/Toolset and Build меня теперь есть:
Исполняемый файл Mono: C:\Program Files\Mono\bin\mono.exe
- Исполняемый файл CLI NET Core: C:\Program Files\dotnet\dotnet.exe
- Используйте версию MS Build (C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll 16.0): C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll

Ответ 12

Я начал получать эту ошибку после того, как я установил SDK 2.2.300. После прочтения этого поста и некоторых других я понижаю его до SDK 2.2.1xx, и ошибка исчезла. Примечание: мне пришлось удалить SDK 2.2.300 и перезапустить после установки SDK 2.2.1xx.