Visual Studio 2017 Update 3 - Не удалось найти SDK "Microsoft.NET.Sdk.Web"
Ошибка:
C:\WebApp\WebApp.csproj: ошибка: указанный SDK "Microsoft.NET.Sdk.Web" не найден. C:\WebApp\WebApp.csproj
Я пытаюсь открыть основной проект Dotnet, и я получаю вышеуказанную ошибку.
Я установил последний SDK с https://www.microsoft.com/net/core#windowscmd
Я проверил путь для Dotnet CMD, и он работает нормально.
Я что-то пропустил? Дайте мне знать, если вам нужна дополнительная информация.
Целевая платформа установлена на .NET 4.5.2
Ответы
Ответ 1
Как указано в комментарии, я обновил файл global.json, как показано ниже
{
"sdk": {
"version": "1.0.0"
}
}
Кроме того, мне пришлось удалить <ItemGroup>
, который содержит путь к файлам wwwroot в файле .csproj.
![введите описание изображения здесь]()
Перезагрузите проект, и он работает как шарм!
Ответ 2
Я сталкивался с этой проблемой несколько раз в последнее время. Вот краткий список обходных путей, которые я нашел (один из них всегда работал до сих пор):
- Установите нужный .NET Core SDK: либо последняя версия, либо версия, необходимая для вашего проекта.
- Очистка устаревших версий .NET Core. Перейдите в Панель управления и удалите предыдущие версии .NET Core SDK/Runtime (если вы их больше не используете).
-
Создайте файл Global.json: добавьте новый файл global.json в корень проекта со следующим содержимым (замените сборку версии .NET Core на ту, с которой вы хотите запустить проект):
{"sdk": {"version": "2.0.5"}}
-
Переименуйте ссылку на SDK: откройте файл .proj
и замените <project sdk="Microsoft.NET.Sdk.web">
на <project sdk="Microsoft.NET.Sdk">
.
-
Добавьте переменную среды MSBuildSDKsPath: CLI dotnet устанавливает переменную среды MSBuildSDKsPath при вызове MSBuild: однако исправление в декабре 2016 года изменило поведение CLI, чтобы оно учитывало существующую переменную среды, если она уже была установлена: это позволит разработчику "заставить" CLI использовать определенный SDK.
- Проверьте свой PATH: убедитесь, что и
C:\Program Files\dotnet
и C:\Program Files (x86)\dotnet
находятся в переменной среды PATH.
Для дополнительной информации относительно проблемы и других жизнеспособных исправлений проверьте это сообщение в блоге, которое я написал на эту тему.
Ответ 3
Я согласен с комментарием в ответе Sundeep, у вас больше не должно быть файла global.json
в вашем проекте.
Кажется, что установка .NET Core 2.0 SDK вызывает проблемы с PATH. Убедитесь, что C:\Program Files\dotnet
и C:\Program Files (x86)\dotnet
находятся в переменной среды PATH. В моем случае эти значения уже присутствовали в System Variables
, поэтому я добавил их в User Variables
и перезагрузил мою машину. Это разрешило мою проблему.
Ответ 4
Я столкнулся с той же проблемой, я просто переименовать <project sdk="Microsoft.NET.Sdk.web">
в <project sdk="Microsoft.NET.Sdk">
на csproj.
другая ситуация: fooobar.com/questions/16864505/...
подробности выпуска: версии SDK 2.1.6xx и 2.2.2xx поддерживаются только в Visual Studio 2019. VS 2017 требует версии SDK 2.1.5xx и 2.2.1xx.
Как решить проблему? Установите версию SDK 2.1.5xx, если вы нацеливаетесь на приложение 2.1 Установите версию SDK 2.2.1xx, если вы нацеливаетесь на приложение 2.2.
и согласно официальному документу:
Примечание. Если вы являетесь пользователем Visual Studio, существуют требования к версии MSBuild, поэтому используйте только .NET Core SDK, поддерживаемый для каждой версии Visual Studio. Если вы используете другие среды разработки, мы рекомендуем использовать последнюю версию SDK.
Ответ 5
Не удаляйте предыдущие версии SDK!
Когда я выполнил 2-й шаг, предложенный в ответе Darkseal, при удалении предыдущих версий SDK он вызывал фатальную ошибку "ожидаемый импорт отсутствует" каждый раз, когда я открывал свой проект, поэтому мне пришлось восстанавливать Visual Studio, так как после установки старого SDK версии снова выскакивали эта ошибка...
Также другие шаги, упомянутые в этом ответе, не имели никакого значения (обе ссылки на dotnet
присутствовали в переменных окружения, и MSBuildSDKsPath
мне не понадобился).
Установите правильную версию SDK и выберите ее в Свойствах решения
Как упоминал Jyoten, я использовал версию VS2017 x86, а мои SDK были x64.
Тем не менее, это была не единственная проблема, похоже, существует некоторая несовместимость с некоторыми версиями SDK и VS2017. Установив SDK v2.2.203 и v2.2.202, они никогда не будут отображаться в раскрывающемся списке Target Framework, когда я дважды щелкну Свойства в своем решении проекта (в обозревателе решений (Ctrl + Alt + L)).
Поэтому мне нужно было установить v2.2.105 x86, как упоминалось в этом ответе, чтобы он отображался в этом раскрывающемся списке.
Как только это произошло, решение, которое требовало .NET Core v2.2, работало правильно (делал Build
нормально).
Ответ 6
У меня была эта проблема, когда мне пришлось открыть проект .Net Core 1.0.4 в VS2017.
Когда я установил 1.0.4 SDK, я выбрал версию x64, которая поместила файлы sdk в папку "c:\Program Files\dotnet"...
но мой VS2017 был 32 бит и поэтому искал sdk в 'c:\Program Files (x86)\dotnet'.
Как только я установил 32-разрядную версию SDK, он работал нормально.
Ответ 7
У меня возникла проблема, когда создание нового проекта ASP.NET Core 2.0 давало мне ошибку. Не удалось найти SDK "Microsoft.Net.Sdk.Web" и оставить меня неспособным открыть проект в Visual Studio. Проблема заключалась в том, что проект был создан в папке с файлом global.json, привязывая версию SDK к 1.0.0.
Удаление global.json или обновление его до 2.0.0 устраняет проблему. Не забудьте также проверить родительские папки - если какая-либо родительская папка содержит файл global.json, будет использоваться версия SDK, указанная в "ближайшей" папке.
Ответ 8
Я получал эту ошибку в коде Visual Studio.
Я смог найти проблему, установив параметры журнала OmniSharp в VS Code для отладки. Как только я это сделал, я увидел, что он не находит Microsoft.Build.Resources.dll.
Я установил MS Build, восстановив установку VS 2017 Community. Это исправило это.
Ответ 9
удалите и переустановите Microsoft.NET core SDK. затем перезапустите Visual Studio. это работает для меня.
Ответ 10
Выберите подходящий SDK в соответствии с вашей Visual Studio и операционной системой. Я скачал правильную версию отсюда https://dotnet.microsoft.com/download/visual-studio-sdks и после этого .Net Core появился в списке целевых фреймворков (существует строгая зависимость между версией sdk и версией VS, поэтому осторожный).
Ответ 11
Я решил эту проблему, перейдя на этот сайт https://dotnet.microsoft.com/download. В нем установите .NET Core Runtime и .NET Core SDK. После установки откройте Visual Studio 2017 с правами администратора. Теперь проблема устранена
Ответ 12
Я отредактировал файл .csproj и изменил netcoreapp2.2 на netcoreapp2.1 в этом разделе, и затем я смог заставить его работать.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>