После форматирования компьютера я переустановил Vs 2017 V 15.6.3 и установите ASP.Net Core SDK из Microsoft 2.1.4
Но когда я создаю новое приложение ядра asp, VS не удалось с ошибкой
"Project file is incomplete. Expected imports are missing"
Пожалуйста, кто-нибудь может помочь?
вы можете опубликовать свой файл проекта?
Я использовал эту ссылку для настройки .net core sdk microsoft.com/net/download/thank-you/…
Ммм, вы хотите, чтобы я загрузил файлы проекта со своего харда? Потому что моя визуальная студия ничего не показывает в решении
Для меня проблема заключалась в том, что я не использовал требуемый dotnet sdk 2.1.104; Я использовал гораздо более раннюю версию, которую требует другое решение. Как только я изменил активный SDK dotnet на 2.1.104, проблема исчезла сама собой. См. Этот инструмент CLI: reynders.co/…
Новичок в проекте с недавно установленным vs 2017 на новом компьютере? Проверьте, установлена ли ожидаемая версия .NET Core: dotnet --list-sdks. У меня был только 2.1.4, а для проекта требовался 1.1.10.
Этот ответ мне помог stackoverflow.com/a/55529011/342113. В настоящее время выясняется, что SDK 2.2.1xx совместимы с VS.NET 2017, а SDK 2.2.2XX - нет.
@rsbarro Совершенно верно! Здесь та же проблема. Поэтому выложил как ответ.
Неужели никто другой не думает, что мы должны попросить Microsoft улучшить это? Глядя на ответы, кажется, что существует множество разных причин этого, которые все приводят к одному и тому же общему сообщению об ошибке с небольшим пониманием того, в чем заключается основная проблема.





Я была такая же проблема. В моем случае удаление global.json и appsettings решило проблему.
Это сработало для меня, хотя, чтобы уточнить, мне просто пришлось удалить (/ переименовать) «global.json». Fwiw: он содержал: {"sdk": {"version": "2.0.0"}}
У меня проблема с проектом, отличным от ASP - нет файла global.json или appsettings, который нужно удалить / переименовать.
В моем случае на моем компьютере отсутствовала установка .NetCore версии 2.0.0, и она упоминалась в global.json. Я просто установил его, и он работал нормально.
dotnet --version показывает 2.1.201, в то время как global.json упоминает немного более низкую версию 2.1.101. Очевидно, версия должна точно соответствовать, чтобы она работала, без обратной совместимости. Или просто удалите файл, как предлагается в этом ответе.
мне было достаточно удаления только global.json. Настройки приложения могут оставаться на месте
Мне тоже хватило простого удаления global.json. Спасибо всем.
Было бы неплохо указать в этом ответе папки global.json и appsettings.
Я предлагаю ответ Smart Dev перед удалением global.json: stackoverflow.com/a/52311504/5522115
У меня такая же проблема. Мне не удалось создать новый ASP .Net Core 2 на свежем установленном VS2017 или открыть существующий, который отлично работает на другом компьютере с VS2017.
Он начал работать для меня после удаления всех .NET Core Runtime и .NET Core Windows Server Hosting из Windows. Остались только SDK и все работает окончательно.

Наверное, мне нужно было удалить из Windows только .NET Core Runtimes или .NET Core Windows Server Hosting, и этого было бы достаточно.
На моем компьютере никогда не устанавливался пакет SDK для ASP Core 2, проблема все еще присутствует даже после новой установки
Работал у меня. После удаления Core Windows Server Hosting. нет перезапуска VS. Я просто перезагрузил проекты.
Спасибо, ребята, мне пришлось переустановить старую версию Visual Studio 2017, и она работает хорошо. Моя версия VS - 15.4, и все в порядке
Версия 15.6.7 здесь, и проблема все еще существует. Я бы не стал отмечать это как принятый ответ, поскольку на самом деле это не решение для последних версий VS.
Требуется docs.microsoft.com/en-us/dotnet/core/… VS2017 - 15.9.0
У меня были те же симптомы из-за поврежденного SDK ядра dotnet (из командной строки мне не удалось запустить dotnet -v, где раньше я мог). Мой проект не удалось загрузить после неудачной установки веб-платформы IIS. Переустановка .NET core SDK решила проблему.
Эх, ошибка новичка, у меня был открыт Visual Studio SSDT, и я пытался открыть существующий проект .Net Core, который выдает ту же ошибку:
"Project file is incomplete. Expected imports are missing"
Решением было использовать Visual Studio не SSDT, см. Help> About:
После нескольких часов путаницы с управлением версиями ядра .net это было реальным решением для меня. И для меня SSDT стал по умолчанию при открытии файла решения из папки, поэтому я это тоже исправил. Спасибо!
в моем случае я пошел в папку C: \ Program Files \ dotnet \ sdk удалите папку предварительного просмотра sdk, затем в командной строке запустите:
dotnet sdk 2.1.200
чтобы установить правильную версию sdk для ядра asp.net. это устранило проблему.
Восстановление последней установки Core сработало для меня
Мне тоже пришлось перезагрузиться, но это исправило это для меня.
Для людей, которые ищут «как» восстановить .NET Framework (работает и для Core), поищите «.NET Framework Repair Tool» в своей любимой поисковой системе. Выполнение только первого шага исправило это для меня.
также Панель управления W10 - Программы - Программы и компоненты выберите установку и восстановление
У меня была такая же проблема с проектом ASP.net Core 2.0 после того, как я установил DotNetCore.2.0.5-WindowsHosting Framework на моем компьютере для разработки. Я смог решить эту проблему после того, как деинсталлировал WindowsHosting Framework и все пакеты .net Core. После этого я переустановил пакет dotnet-sdk-2.1.200-win-x64, и все заработало.
В последнее время я решил эту проблему пару раз, закрыв Visual Studio и выполнив следующие команды
Кажется, бывают моменты, особенно в начале проекта, когда nuget выходит из строя (технический термин).
В моем случае у меня было установлено две версии Visual Studio (15.7 и 15.6). В версии 15.7 не было установленных веб-нагрузок, хотя .net core 2.1 RC1 уже был установлен. Я установил рабочую нагрузку asp.net в VS2017, а затем исправил установку ядра .net для хорошей меры. Определенно что-то в этом процессе поменяло местами мои c: \ program files (x86) \ dotnet и c "\ program files \ dotnet по этому пути, и Visual Studio (15.7) не открыла бы мой веб-проект.
Я просто отредактировал переменные системной среды, переместил папку x86 на одну вниз и вуаля - снова открыл Visual Studio, и теперь она загрузила мой проект.

В моем случае c: \ Program Files \ dotnet \ был удален из моих PATH
аааааааааааааааааааааася много времени, это был ответ для меня. БЛАГОДАРЮ ВАС!
Установил NET4.7.1, потом все существующие проекты Net.Core рухнули. Магия «Двигаться вниз» вернула их обратно.
Удаление папок bin и obj для проекта устранило это для меня.
Та же проблема ... мне потребовалось время, чтобы разобраться. Поскольку я работал над проектом ASP.NET Core, ориентированным на .NET Core 1.1, я подумал, что мне все еще нужен пакет SDK для .NET Core 1.1. Поскольку у меня тоже был установлен .NET Core SDK 2.1, возник какой-то конфликт, и я не мог открыть файл проекта. После удаления .NET Core 1.1 я смог открыть свой проект.
Это случилось со мной, когда я удалил экземпляр Visual Studio VS2015, который у меня работал бок о бок с VS2017.
Мне пришлось пойти и переустановить .Net Core sdk / runtime с версией x86. Я уже вручную делал их x64-версии, но не думал о 32-битной визуальной студии.
Это файлы:
dotnet-sdk-x.x.x-win-x86.exe
DotNetCore.x.x.x-WindowsHosting.exe
Вы можете проверить файл global.json, который вы можете найти в корневом каталоге решения, и убедиться, что целевая версия SDK в нем установлена на вашем компьютере, или обновить его до той, которая у вас уже установлена, например, если у вас установлена версия SDK 2.1.4. ваш global.json должен выглядеть так
{
"sdk":
{
"version": "2.1.400"
}
}
Это было для меня. Версия "2.1.300" в global.json, но установлены 2.1.200 и 2.1.403; переход на 2.1.400 работал.
Работали как с изменением его на одну из установленных версий SDK, так и с полным удалением атрибута version
У меня тоже сработало. Изменил версию, чтобы она соответствовала наиболее близкой к той, что у меня уже была в моей системе. Вы можете запустить «dotnet --versions», чтобы увидеть, что вы установили.
dotnet --list-sdks и dotnet --list-runtimes, чтобы увидеть все, что вы установили. dotnet --version покажет текущую используемую версию.
У меня был "version": "2.1.403" в global.json с установленным SDK 2.1.4. "version": "2.1.400" у меня не работал. Пришлось получить SDK 2.4.103.
Это было решением и для нас. В нашем случае у нас было несколько проектов на VS2017 с netcore 2.1; мы установили netcore 3, и больше не могли открывать проекты. Создание global.json в корневой папке проекта решило проблему.
@Jack Cacas такой же, как мы ... У нас VS 2017 и VS 2019 работают бок о бок. Нам нужно было добавить в наше решение файл global.json, указывающий на .NET Core 2.2.110. Затем мы перезагрузили проект, и все было хорошо. Было бы неплохо, если бы вы могли сделать файл global.json на уровне проекта, хотя
Для решения запустите dotnet восстановление в командной строке.
Кончик.Если вы удалили последнюю версию ядра .net, скажем, 2.1.403, и установили предыдущую, убедитесь, что папка 2.1.403 действительно удалена по пути
C: \ Program Files \ dotnet \ sdk \
У меня была проблема из-за того, что осталась пустая папка с 2.1.403
Удалить все сгенерированные сборки bin и obj папки. Это сработало для меня после переименования проекта и попытки перезагрузить решение. Не совсем уверен в истинной причине несовместимой загрузки.
У меня та же проблема, и я снова запускаю Visual с правами администратора. Это помогает мне открыть проект номинально.
Я начал получать эту ошибку, когда удалил все мои старые SDK .NET Core и установил последний, 2.1.5 во время публикации. Я попробовал все решения здесь, но безуспешно, поэтому решил проверить, какая сейчас версия SDK после всей очистки, которую я сделал, потому что я думал, что это вызывает проблему, и был прав - запустил командную строку, написал dotnet --version и получил сообщение «Вы хотели запустить команды dotnet SDK? Пожалуйста, установите dotnet SDK из:». Странно, SDK установлен, но система его не видит. Затем я посмотрел в свои переменные среды, и переменная PATH имела путь x86 для dotnet перед обычным путем для Program Files (x64). Поэтому я переместил x64 перед x86 и вуаля, все вернулось в норму.
Надеюсь, я кому-то помог.
Ты мне помог. Это произошло только тогда, когда я обновился с 2.2.3 до 2.2.4. Интересно, есть ли определенный порядок установки нового / удаления старого, который вызывает это.
@MattOG, я перепробовал множество вариантов установки / удаления, но эта проблема возникает каждый раз. Думаю, к этому нужно просто привыкнуть;) В конце концов, это не так уж и важно, когда у нас есть такой источник, как stackoverflow.
Это то же самое, что и ответ Smart Dev Файл проекта неполный. Ожидаемый импорт отсутствует?
Оказалось, что мой проект зависел от другого проекта в решении, в котором возникли проблемы с зависимостями NuGet, что, в свою очередь, было связано с тем, что целевая платформа в свойствах проекта была пустой.
Я открыл файл .csproj, чтобы проверить целевую структуру, скачал целевой фреймворк, и выбрал «восстановить», затем перезапустил Visual Studio и снова все в порядке!
Resolved
Даже после удаления определенной версии из панели управления файлы и папки с удаленной версией будут найдены в C: \ Program Files \ dotnet \ sdk
Пожалуйста, перейдите и удалите папку с нежелательной версией
This worked for me
Я столкнулся с той же проблемой. Я запускал свой проект на .Net core 2.2. Я пробовал все приведенные здесь решения, но ничего не помогло. Я отремонтировал свою визуальную студию, и теперь она работает нормально.
У меня была такая же проблема при установке новой предварительной версии VS 2019. Я исправил это, удалив последнее обновление, которое, в свою очередь, удалило самую последнюю загруженную версию ядра. Который, как я считаю, вызвал несовпадение.
Решил для меня обновление Visual Studio 2017 до 15.9.11 (я не могу вспомнить версию, в которой произошел сбой). Возможно, восстановление Visual Studio тоже сработало бы. Восстановление установки .NET Core и очистка артефактов сборки и временных файлов не помогли.
Другая потенциальная причина - это ваш установлена версия .NET Core, несовместимая с Visual Studio. Это может быть не связано с исходным вопросом OP, поскольку он касается разных номеров версий, но поскольку я попал на эту страницу в поисках помощи, я подумал, что это может быть полезно для других.
На момент написания я установил .NET Core 2.2.203, который является не совместим с Visual Studio 2017 (Professional 15.9.11).
В Страница загрузки .NET Core указана отдельная загрузка для Visual Studio 2017. Обязательно загрузите эту, если собираетесь использовать Visual Studio 2017. Текущая поддерживаемая версия - .NET Core 2.2.106.
Как ни странно, в моем приложении есть приложение N-уровня (UI, BLL и DAL). Проект BLL отлично загрузился с этой версией .NET Core. +1
Большое спасибо! Это работает! SDK 2.2.105 работает только с Visual Studio 15.9.8 или более ранней версии.
обновление сообщества VS 2017 до версии 15.9.12 решило проблему в моем случае
Я решил эту проблему, изменив первую строку в файле .csproj из:
<Project Sdk = "Microsoft.NET.Sdk.WindowsDesktop">
к:
<Project Sdk = "Microsoft.NET.Sdk">
Просто нужно перекрестно проверить создание вашего проекта .net-версию основной библиотеки с обновленной версией. Когда вы обновляете основную библиотеку, она не будет обновлена до .csproj, вам либо нужно обновить ее вручную, либо нужно удалить последний / обновленный основной файл sdk.
Чтобы проверить версию ядра .net Команда --fire в cmd: - dotnet --version
Затем проверьте установленную библиотеку в программе и функциях - Удаление последней библиотеки решает проблему без изменения отдельной строки
После установки VS2019 у меня началась та же ошибка при открытии существующих решений .Net Core в VS2017.
В Установщик Visual Studio я обновил VS2017 до последней версии (15.9.11), и проблема исчезла.
Позже, после обновления VS2019 до последней версии, у меня начались те же ошибки, и мне пришлось снова обновить VS2017.
Я была такая же проблема. мне потребовалось некоторое время, чтобы понять это. В моем случае я пытался открыть новое приложение ASP .NET Core и получал 0 проектов, подобных представленному в этом посте.
Что я пробовал: Я попытался изменить переменные среды в Control Panel \ System and Security \ System (щелкните дополнительные настройки)
Затем щелкните "Переменные среды".
Затем проверьте, включен ли у вас путь dotnet, находится ли он в Program Files или Program files (x86)

Некоторые предлагали перейти на (x86) вверх, что основано на документация Microsoft
Что устранило мою проблему:
Оказывается, у меня была установлена неправильная версия, и она несовместима с Visual Studio 2017.

Затем я удалил другие установки и переустановил нужную версию, совместимую с VS17 и работающую как по волшебству. Надеюсь, это поможет кому-то в будущем.
Это было частью того, что сработало для меня. Все остальные SDK на моей машине были 64-битными (и, следовательно, в «Program Files».) Мне пришлось установить последнюю версию Core for VS 2017 - 2.2.110 в качестве версии x86. Это входит в дерево «Program Files (x86)». Я удалил ранее добавленные операторы PATH в обычную папку «Program Files» и заменил их на «Program Files (x86)», и он снова работает!
Это мне помогло! Я удалил кучу SDK, автоматически установленную для меня Windows 10 Insider Preview, и случайно удалил тот, который нужен VS 2017. Спасибо!
У меня было такое же сообщение об ошибке. В моем случае. Пришлось установить набор инструментов Кросс-платформенная разработка .NET Core.
Шаги:
Я решил это, обновив Visual Studio до версии 2017 года.
Фактическая проблема заключалась в том, что версия ядра .net была более поздней, чем Visual Studio.
Перейдите в раздел «Справка»> «Проверить наличие обновлений», обновите Visual Studio.
Как вы «устанавливали SDK ASP.Net Core из Microsoft 2.1.4»? С помощью установщика Visual Studio или каким-либо другим способом?