пробовали перейти на профессиональную версию Visual Studio 2017 v 15.6.0 (предварительная версия 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
Ответы:
Проблема здесь в том, что 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 объясняет путаницу:
Итак ... чтобы получить поддержку .NET Core 2.1 для сборки через SDK, вам необходимо установить SDK как минимум с версией 2.1.300 (поскольку 2.1.2 НЕ является .NET Core 2.1) ... да, сбивает с толку. Спасибо, Microsoft, за потерянное время.
источник
Это случилось со мной после установки 2.2.100-preview3-009430 и последующего обновления до Visual Studio 15.9.2.
Я решил, включив параметр «Использовать предварительные версии пакета SDK для .NET Core».
Перейдите в: Инструменты> Параметры> Проекты и решения> .NET Core.
Установите флажок «Использовать предварительные версии пакета SDK для .NET Core».
Перезапустите Visual Studio и перестройте решение.
Параметры предварительного просмотра VS
источник
Установка
.NET Core SDK 2.1.300-preview2
помогла мне:ОБНОВЛЕНИЕ: на всякий случай недавно вышла более новая версия. Вы можете скачать новый .NET Core SDK для 2.2.0-preview1 (который включает ASP.NET 2.2.0-preview1) здесь .
См. Также этот ответ, если вы получаете такую ошибку:
источник
Я решил проблему. причина в том, что я установил
aspnetcore-runtime-2.1.0-preview1-final-win-x64
и.net core SDK 2.1.4-x64
версии.c:\Program Files\dotnet
c:\Program Files(x86)\dotnet
.Чтобы решить эту проблему, я
установил x86-версию среды выполнения sdk и aspnetcore,
установите переменную среды MSBuildSDKsPath так, чтобы она указывала на новый путь установки.
удалил все устаревшие SDK из панели управления
Не удалось найти вопрос VS2017 Update 3 «Microsoft.NET.Sdk.Web», который помог решить эту проблему.
источник
https://www.microsoft.com/net/download/visual-studio-sdks
Вы можете скачать SDK с указанного выше сайта
проверьте SDK, который находится на вашем компьютере Путь C: \ Program Files \ dotnet \ sdk
Измените или проверьте целевой фреймворк в Visual Studio,
Щелкните правой кнопкой мыши Startup Application или project => Application => Target Framework.
Вы можете изменить структуру и построить решение и восстановить пакеты слепков.
источник
То же самое случилось со мной, но тогда для версии 2.2 .NET Core. Я установил последнюю версию .NET Core 2.2 SDK, которая в то время была 2.2.202. Visual studio позволила мне создать новый проект для Core 2.2, но показывала ошибку:
Целевая платформа для моего проекта была пуста, а в раскрывающемся списке не отображалось 2.2.
После установки .NET Core SDK 2.2.103 ошибка исчезла, и в раскрывающемся списке действительно отображалось «.NET Core 2.2».
источник
Остановка IIS для публикации решила проблему. Но сначала мне нужно было установить net core 2.1 SDK и обновить Visual Studio.
источник
У меня был установлен .Net Core SDK 2.1.4, и я следил за другими ответами в этом посте, не решив свою проблему. Что в итоге сделало для меня, так это установка .Net Core SDK версии 2.1.301 и удаление всех остальных версий. Похоже, SDK 2.1.4 не может работать с .Net Core 2.1, но SDK 2.1.301 выполняет свою работу.
источник
Убедитесь, что
global.json
в корневой папке вашего проекта нет файла, который заставляет ваш проект использовать только .NET SDK 2.1.Если у вас есть этот файл global.json, удалите его , а затем перезапустите Visual Studio.
Как бы неловко это ни звучало, я потратил почти час на возню и даже загрузил несколько версий SDK, чтобы заставить его использовать 2.2.
источник
Я тоже решил проблему таким образом:
Проверить доступные версии на dotnet sdk
C:\Users\me>dotnet --list-sdks ##2.1.202 [C:\Program Files\dotnet\sdk] ##2.1.505 [C:\Program Files\dotnet\sdk] ##2.1.508 [C:\Program Files\dotnet\sdk] ##2.1.509 [C:\Program Files\dotnet\sdk] ##2.1.511 [C:\Program Files\dotnet\sdk] ##2.1.514 [C:\Program Files\dotnet\sdk] ##2.1.801 [C:\Program Files\dotnet\sdk]
Я тестировал свою сборку на всех этих версиях, и она не работает, пока я не удалю все вышеперечисленное в разделе «Программы и компоненты». Затем скачайте из последней версии:
https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.300-windows-x64-installer
Это сработало. Не теряйте время, как будто я только что установил последнюю версию dotnet sdk, и вам хорошо. "
источник
Я использую Райдер, у меня
Я имел:
$ 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 и получил:
Я удалил все и переустановил 2.1.602. Сделал новый проект от Райдера. И это сработало . Не могу сказать, что понял, как решил ...
Проблемы для некоторых людей, похоже, связаны с 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- невозможно найти/
Другие вещи, которые я делал раньше (похоже, это не решило проблему, но могло помочь?):
- Обновление Rider с 2018.3.2 до 2018.3.4 (последнее). - Установка Mono (при просмотре настроек сборки Rider использовалась версия из Unity).
- Безуспешно пытались использовать кастомный MSBuild от Jetbrain (тот, который используется для Linux).
- Установка всего, что связано с .NET Core из установщика VS.
- Последнее обновление сообщества VS. - Перезагружать.
В
Rider/Build, Execution, Deployement/Toolset and Build
I теперь есть:Mono исполняемая:
C:\Program Files\Mono\bin\mono.exe
- NET Ядро CLI исполняемая:
C:\Program Files\dotnet\dotnet.exe
- Использование MS Строить версии (Auto обнаружено 16,0):
C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll
источник
Я начал получать эту ошибку после установки SDK 2.2.300. После прочтения этого сообщения и некоторых других я понизил его до SDK 2.2.1xx, и ошибка исчезла. Примечание. Мне пришлось удалить SDK 2.2.300 и перезапустить после установки SDK 2.2.1xx.
источник
У меня была эта проблема, и я заново установил VS2017. Это исправило!
источник
Перейти к своему конвейеру. Щелкните Редактировать конвейер. Щелкните раскрывающийся список "Спецификация агента". Измените его на Windows 2019. Нажмите «Сохранить и поставить в очередь».
И вот вы идете. У меня это сработало.
источник
Похоже, что 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 был удален из Authentication / Authorization, чтобы стимулировать использование страниц Razor, реализующих принцип единой ответственности.
Обход этих изменений с целью увеличения продолжительности использования программного обеспечения, созданного в соответствии с более низкими стандартами разработки программного обеспечения в прошлом, не будет считаться лучшей практикой.
источник