Подтвердить что ты не робот

Не удалось найти систему Visual Studio 2017. Проект ASP.NET Core

Я установил недавно выпущенную версию Visual Studio 2017 и запустил новый проект ASP.NET Core, ориентированный на .NET Core.

Из коробки я получаю

Тип или имя пространства имен 'System' не удалось найти (вы отсутствует директива using или ссылка на сборку?)

ошибка. Любая идея, что вызывает это и как его исправить?

введите описание изображения здесь

Кроме того, похоже, что есть проблемы с пакетами NuGet: введите описание изображения здесь

Я также попробовал восстановление dotnet в проекте через командную строку и получил следующую ошибку: введите описание изображения здесь

P.S. Вид уныния, что вы получаете ошибку в новом новом проекте в последней версии Visual Studio 2017!

UPDATE: Версия SDK v 1.0.1 - см. Ниже: введите описание изображения здесь

ОБНОВЛЕНИЕ 2: Это очень странно. Похоже, исходная проблема возникла из-за источника пакета NuGet, указывающего на папку в папке Visual Studio 2015. Я отключил его и оставил только nuget.org. При этом мой проект, похоже, восстановил все пакеты, и когда я начал проект, он загрузил стандартную страницу ASP.NET. Но если я открою файл startup.cs, я получаю красные squigglies повсюду, но если я запустил проект, он отлично работает. Что здесь происходит? введите описание изображения здесь

ОБНОВЛЕНИЕ 3: Я закрыл проект и VS 2017. Затем я перезапустил VS 2017 и открыл проект, и теперь, похоже, все в порядке. И я не ссылаюсь на библиотеку .NETStandard 1.6.1, и теперь все работает нормально.

4b9b3361

Ответ 1

Произошла одна и та же проблема. У меня был старый источник нуджетов, который больше не существовал. Поэтому я зашел в Tools > Nuget Packet Manager и не проверял неправильный. Хит "Хорошо", а затем перестроил проект, и теперь он отлично работает. Похоже, вы наткнулись на него, но также хотели проверить, что он исправил мою проблему, и это так.

введите описание изображения здесь

Ответ 2

У меня была такая же проблема в приложении Visual Studio 2017..NET Core. Я закрыл Visual Studio и снова открыл исправленное.

Ответ 3

У меня была такая же проблема, сначала при преобразовании веб-проекта сетевого ядра VS2015 с ядром в 2017 году, а затем при попытке создания нового основного веб-приложения в 2017 году.

Пошел в Инструменты | Менеджер пакетов NuGet | Настройки диспетчера пакетов - отметьте "Разрешить NuGet загружать отсутствующие пакеты" и "Автоматически проверять отсутствующие пакеты во время сборки в VS", а затем щелкнуть "Очистить все кеши NuGet".

Затем переделано решение - оно обнаружило и загрузило все необходимые пакеты и запустило OK.

Может не работать для всех случаев, но просто и стоит попробовать.

Ответ 4

Несколько закрытия и повторного открытия VS2017 исправили его для меня.

Ответ 5

Проверьте версию .NET Command Line Tools в CMD, просто введите dotnet --info. Если версия 1.0.0, попробуйте установить последнюю версию .NET Core SDK из здесь.

введите описание изображения здесь

Ответ 6

У меня была та же проблема, решение для меня состояло в очистке кеша NuGet. Инструменты > Диспетчер пакетов NuGet > Параметры диспетчера пакетов > Очистить все кеши NuGet

Ответ 7

Эта проблема, кажется, вызвана несметным числом причин. Мой был вызван клонированием непосредственно из VSTS с использованием Git Bash, в моем каталоге проекта были пробелы. Git Bash изменил эти пробелы на пути к %20. Это скинуло все ссылки в моем проекте. Так что для любого, кто попробовал все остальное и в конце концов, убедитесь, что %20 не на пути.

Ответ 8

Была та же проблема. Удаленные данные приложений из моих проектов с помощью диспетчера пакетов nuget. Я еще не смотрю на это, мне просто нужны тесты ядра и единицы. Проблема решена.

Ответ 9

У меня также была та же проблема. В папке "Зависимости" нет папки SDK. Поэтому нет библиотек Microsoft.NetCore.App!

Чтобы решить эту проблему, в окне менеджера Nuget установите любой nuget, который зависит от .NetCoreApp(вы можете установить, например, Microsoft.AspNetCore или BundlerMinifier.Core из источника автономных пакетов Microsoft Visual Studio).

SDK будет восстановлен в одно и то же время.

Как только он вернется, вы можете удалить ранее добавленный nuget. SDK останется на месте.

Ответ 10

Не совсем уверен, в каком порядке против 2017 пытается решить пакеты. Но моя ситуация была следующей. В моем VS2015 я настроил локальный и сторонний источник для пакетов nuget, и их новая загруженная версия 2017 также загрузила их.

https://api.nuget.org/v3/index.json был первым в списке.

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

После того, как я отключил все из них, кроме https://api.nuget.org/v3/index.json, он начал нормально работать.

Ответ 11

Найдите сломанный проект и щелкните правой кнопкой мыши, выгрузите, щелкните правой кнопкой мыши, перезагрузите. Самое быстрое решение для меня.

Если вы dotnet restore с проблемой при использовании интерфейса командной строки, попробуйте выполнить nuget restore dotnet restore вместо dotnet restore поскольку это иногда приводит к удалению пакетов, которые, по-видимому, пропускает CLI dotnet.

Ответ 12

У меня тоже была эта проблема, но не сейчас, эти шаги решили мою проблему: выберите "Проект" → "Свойства" в строке меню. В окне свойств проекта в разделе "Свойства конфигурации" → "Общие" убедитесь, что для поддержки Common Language Runtime Support установлено значение Common Language Runtime Support (/clr)

Ответ 13

Просто открыв диспетчер пакетов NuGet, а затем связанные с ним настройки Visual Studio - , не меняя ничего - просто оглядываясь, и когда я закрыл проблему, проблема исчезла.

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

Ответ 14

Попробуйте добавить следующую строку над другими ссылками в файле csproj

<Reference Include="netstandard"/>

Reference screenshot

Ответ 15

Для меня проблема была вызвана тем, что мой проект имел собственный IntermediateOutputPath. По какой-то причине, если project_name.csproj.nuget.g.targets отсутствует в obj папки проекта, возникает ошибка.

Использование по умолчанию IntermediateOutputPath или хранение теневой копии project_name.csproj.nuget.g.targets в папке fake obj решает проблему для меня.

Ответ 16

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

Ошибка загрузки метаданных для шестнадцатеричного значения 0x1C недопустимого символа Microsoft.Extensions.FileProviders.Embedded.2.0.1.

Каждый раз, когда я пытался загрузить другой пакет nuget или восстановить старые пакеты, я видел эту ошибку. Я также видел другие ошибки, такие как:

система типа или пространства имен не найдена


Что сработало для меня:

  1. открыл путь к файлу, в котором указана ошибка, указавшая на неверные метаданные, для меня это был C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.fileproviders.embedded\2.0.1
  2. Затем я помещаю содержимое этой папки в другую папку, которую я назвал "скрытой".
  3. Затем я вернулся к диспетчеру пакетов nuget и попытался установить пакет, надеясь восстановить SDK. Я успешно работал, все мои другие ошибки также исчезли, и новый новый проект работает как надо!

Ответ 17

Проблема для меня возникла при запуске Visual Studio в качестве администратора с отдельным user--, где я создал Git Repo с исходными файлами в пользовательских документах моей обычной учетной записи. Когда я создал новое решение в этой папке, произошли вышеуказанные ошибки. Попробуйте создать свой проект в другом месте и посмотреть, если ошибка все еще происходит.

Ответ 18

Я столкнулся с той же проблемой, когда создавал новый проект (.net Core 2.2) в VS2019. В моем случае был пакет Azure, который создавал проблему. Я удалил его, и проект начал работать нормально. Запустите указанную ниже команду для удаления пакета.

Пакет удаления Microsoft.VisualStudio.Azure.Containers.Tools.Targets -Version 1.7.10

Ответ 19

У меня была такая же проблема с Visual Studio 2019 и .NET Core SDK 2.2.

Эти шаги решили проблему:

  1. Закройте Visual Studio
  2. Откройте Visual Studio от имени администратора
  3. Откройте решение
  4. Щелкните правой кнопкой мыши Решение → Восстановить пакеты NuGet.