it-roy-ru.com

Visual Studio 2017, обновление 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

15
Sundeep

Как предлагается в комментарии, я обновил файл global.json, как показано ниже

{
  "sdk": {
  "version": "1.0.0"
 } 
}

Кроме того, мне пришлось удалить <ItemGroup>, который содержит путь к файлам wwwroot в файле .csproj.

 enter image description here

Перезагрузите проект, и он работает как шарм!

7
Sundeep

Я сталкивался с этой проблемой несколько раз в последнее время. Вот краткий список найденного мной обходного пути (один из них всегда работал до сих пор):

  1. Установите нужный .NET Core SDK: либо последняя версия, либо версия, необходимая для вашего проекта.
  2. Очистка устаревших версий .NET Core: перейдите на Панель управления и удалите предыдущие версии .NET Core SDK/Runtime (если вы их больше не используете).
  3. Создайте файл Global.json: добавьте новый файл global.json в корень вашего проекта со следующим содержимым (замените сборку версии .NET Core на ту, с которой вы хотите запустить проект):

    { "sdk": { "версия": "2.0.5" } }

  4. Переименуйте ссылку на SDK: откройте файл .proj и замените <project sdk="Microsoft.NET.Sdk.web"> на <project sdk="Microsoft.NET.Sdk">.

  5. Добавьте переменную среды MSBuildSDKsPath: CLI dotnet устанавливает переменную среды MSBuildSDKsPath при вызове MSBuild: однако исправление от декабря 2016 г. изменило поведение CLI так, чтобы оно учитывало существующую переменную среды, если она уже установлено: это позволит разработчику «заставить» CLI использовать определенный SDK.

  6. Проверьте свой PATH: убедитесь, что и C:\Program Files\dotnet, и C:\Program Files (x86)\dotnet находятся в переменной среды PATH.

Для дополнительной информации относительно проблемы и других жизнеспособных исправлений проверьте это сообщение в блоге , который я написал на эту тему.

11
Darkseal

Я согласен с комментарием к ответу Sundeep: в вашем проекте больше не должно быть файла global.json.

Кажется, что установка .NET Core 2.0 SDK вызывает проблемы с PATH. Убедитесь, что C:\Program Files\dotnet и C:\Program Files (x86)\dotnet находятся в переменной среды PATH. В моем случае эти значения уже присутствовали в System Variables, поэтому я добавил их в User Variables и перезагрузил компьютер. Это решило мою проблему.

8
AperioOculus

Я столкнулся с той же проблемой, я просто переименовать <project sdk="Microsoft.NET.Sdk.web"> в <project sdk="Microsoft.NET.Sdk"> на csproj

3
au.tw

Я получал эту ошибку в коде Visual Studio. 

Я смог найти проблему, установив параметры журнала OmniSharp в VS Code для отладки. Как только я это сделал, я увидел, что он не находит Microsoft.Build.Resources.dll. 

Я установил MS Build, восстановив установку VS VS Community. Это исправило это. 

0
user3236794

У меня была эта проблема, когда мне нужно было открыть проект .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, все заработало нормально.

0
Jyoten

Я столкнулся с проблемой, когда создание нового проекта 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, указанная в «ближайшей» папке.

0
user1089766