Файл проекту неповний. Очікуваний імпорт відсутній


94

Після форматування комп’ютера я переінсталював Vs 2017 V 15.6.3 та встановив ASP.Net Core SDK від Microsoft 2.1.4

Але коли я створюю нову основну програму asp, VS не вдалося помилитися

"Файл проекту неповний. Відсутній очікуваний імпорт"

Будь ласка, може хто допоможе?

Помилка після створення основного додатка ASP


Як ви "встановили ASP.Net Core SDK від Microsoft 2.1.4"? Використовуючи інсталятор Visual Studio чи інший процес?
Ніл,

Ви можете опублікувати файл проекту?
Франческо Б.

1
Я використав це посилання для налаштування .net core sdk microsoft.com/net/download/thank-you/…
Majd Albaho

4
Ця відповідь допомогла мені знайти stackoverflow.com/a/55529011/342113 . На даний момент виявляється, що пакети SDK 2.2.1xx сумісні з VS.NET 2017, але SDK 2.2.2XX - ні.
rsbarro

1
@rsbarro Точно! Тут та сама проблема. Тому я розмістив це як відповідь .
Стівен Джеуріс

Відповіді:


18

Вирішено

  1. Навіть після видалення певної версії з панелі керування файли та папки з видаленою версією знайдуться в C: \ Program Files \ dotnet \ sdk

  2. Перейдіть і видаліть папку небажаних версій

  3. Спробуйте перезавантажити проект

Це спрацювало для мене


68

У мене була та сама проблема. У моєму випадку видалення global.json та appsettings вирішило проблему.


9
Це спрацювало для мене, хоча для уточнення я просто мусив видалити (/ перейменувати) "global.json". Fwiw: Він містив: {"sdk": {"version": "2.0.0"}}
ubienewbie

2
У моєму випадку мені не вистачало інсталяції .NetCore версії 2.0.0 на моїй машині, і це було згадано в global.json. Тож я просто встановив його, і він працював нормально.
Мухаммед Умар,

3
dotnet --versionпоказує 2.1.201, тоді як global.json згадав дещо нижчу версію, 2.1.101. Очевидно, що версія повинна точно відповідати для того, щоб вона працювала, без сумісності вниз. Або просто видаліть файл, як запропоновано у цій відповіді.
GolezTrol

7
видалення лише global.json мені було достатньо. Налаштування додатків можуть залишатися на місці
Wouter Janssens

11
Було б непогано сказати папку (и) global.json та appsettings у цій відповіді.
Фернаколо

34

Ще однією потенційною причиною є те, що ви встановили версію .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-Tier (UI, BLL та DAL). Проект BLL завантажився добре з цією версією .NET Core. +1
Дейв

9
Ти врятував мене через кілька годин забивання голови. Microsoft повинна була зробити це більш очевидним, ніж (Compatible with Visual Studio 2017)етикетка доброякісного вигляду . Це повинні бути ВСІ ЧАПИ ТА ВЕЛИКИЙ ТРАХОВИЙ ЧЕРВОНИЙ, на хуй.
Ангел Йорданов

Велике спасибі! Це працює! SDK 2.2.105 працює лише з Visual Studio 15.9.8 або старішою.
hubert17,

оновлення спільноти VS 2017 до версії 15.9.12 вирішило проблему в моєму випадку
GoldenAge

23

Ви можете перевірити файл global.json, який ви можете знайти в кореневому каталозі рішення, і переконатися, що цільова версія SDK у ньому встановлена ​​на вашому комп'ютері, або оновити його до тієї, яка вже встановлена, наприклад, якщо у вас встановлений SDK версії 2.1.4 ваш global.json повинен виглядати так

{
  "sdk":
  {
    "version": "2.1.400"
  }
}   

1
Це було для мене. Версія "2.1.300" у global.json, але 2.1.200& 2.1.403встановлена; змінившись на 2.1.400 спрацював.
Пасі Саволайнен,

3
Працював як із заміною його на одну з встановлених версій SDK, так і з versionповним видаленням атрибута
Salaros

2
Працював і у мене. Змінено версію, щоб вона відповідала найближчій до того, що я вже мав у своїй системі. Ви можете запустити "dotnet --versions", щоб побачити, що ви встановили.
daudihus

2
dotnet --list-sdksі dotnet --list-runtimesщоб побачити все, що ви встановили dotnet --version, покаже поточну версію, що використовується.
nathanchere

1
Це було рішення і для нас. У нашому випадку ми мали кілька проектів на VS2017 з netcore 2.1; ми встановили netcore 3 і більше не могли відкривати проекти. Створення global.json у кореневій папці проекту вирішило проблему
Джек Касас,

19

Ремонт останньої інсталяції Core працював у мене


1
Мені також довелося перезавантажитися, але це мені це виправило.
D Town,

2
Для людей, які шукають "як" відновити .NET Framework (працює і для Core), знайдіть ".NET Framework Repair Tool" у вашій улюбленій пошуковій системі. Запуск лише першого кроку це виправив для мене.
KSwift87,

2
також панель керування W10 - Програми- Програми та функції вибору встановлення та ремонту
Uzay

15

У моєму випадку у мене було встановлено дві версії 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 на одну і знову відкрив Voila Visual Studio і тепер завантажив мій проект. Змінні системного середовища


3
У моєму випадку c: \ Program Files \ dotnet \ видалено з моїх ПУТЬ
micahtan

1
аааааааа, стільки часу на це витратило, це була для мене відповідь. СПАСИБІ!
спалт

Встановивши NET4.7.1, тоді всі існуючі проекти Net.Core були зруйновані. Магія "Move down" виправила їх назад.
Юрій Шкатула

13

Е, помилка новачка, у мене був відкритий SSDT Visual Studio і намагався відкрити існуючий проект .Net Core, який видає ту ж помилку:

"Файл проекту неповний. Відсутній очікуваний імпорт"

Рішенням було використовувати Visual Studio, а не SSDT , див. У розділі Довідка> Про програму:

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


1
Після кількох годин плутанини з версією .net core, це стало фактичним рішенням для мене. І для мене SSDT став типовим при відкритті файлу рішення з папки, тому я це також виправив. Дякую!
Алекс

9

Останнім часом я вирішував цю проблему кілька разів, закривши Visual Studio і запустивши такі команди

  1. dotnet nuget місцеві жителі -c всі
  2. dotnet чистий
  3. dotnet побудувати

Здається, бувають випадки, особливо на початку проектів, коли Nuget виходить з ладу (технічний термін).


9

Після встановлення VS2019 у мене почалася та сама помилка під час відкриття існуючих рішень .Net Core у VS2017.
У програмі інсталятора Visual Studio я оновив VS2017 до останньої версії (15.9.11), і проблема зникла.

Пізніше, після оновлення VS2019 до останнього випуску, у мене почалися ті самі помилки, і мені довелося оновити VS2017 знову.


8

Я вирішив цю проблему, змінивши перший рядок у файлі .csproj з:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

до:

<Project Sdk="Microsoft.NET.Sdk">

5

Я почав отримувати цю помилку, коли видалив всі мої старі .NET Core SDK та встановив останню версію, 2.1.5, на момент публікації. Я спробував усі рішення тут без будь-якої удачі, тому вирішив перевірити, якою є поточна версія SDK, після всієї очистки, яку я зробив, тому що я вважав, що це спричиняє проблему, і я мав рацію - запустив командний рядок і написавdotnet --version та отримав повідомлення Msgstr "Ви мали намір запускати команди dotnet SDK? Будь ласка, встановіть dotnet SDK з:". Дивно, але SDK встановлено, але система цього не бачить. Потім я заглянув у свої змінні середовища, і у змінної PATH був шлях x86 для dotnet до звичайного шляху до програмних файлів (x64). Тож я перемістив x64 перед x86 і вуаля, все повертається до норми.

Сподіваюся, я комусь допоміг.


Ви мені допомогли. Це просто сталося, коли я перейшов з 2.2.3 на 2.2.4. Цікаво, чи існує певний порядок встановлення нового / видалення старого, який спричиняє це.
MattOG

@MattOG, я спробував численні варіанти встановлення / видалення, але ця проблема виникає щоразу. Думаю, доведеться просто звикнути до цього;) Зрештою, це не біг, коли у нас є таке джерело, як stackoverflow.
Івайло Димитров


4

Я отримав те саме випуск. Я не зміг створити новий ASP .Net Core 2 на нововстановленому VS2017 або відкрити вже існуючий, який чудово працює на іншому комп’ютері з VS2017.

Це почало працювати для мене після видалення всіх .NET Core Runtimes та .NET Core Windows Server Hosting з Windows. Залишилися лише SDK, і все працює нарешті. введіть тут опис зображення

Можливо, мені потрібно було видалити лише .NET Core Runtimes або .NET Core Windows Server Hosting з Windows, і цього було б достатньо.


У мене ніколи не було встановлено ASP Core 2 SDK на моїй машині, проблема все ще присутня навіть після нової установки
alexlomba87,

Працював у мене. Після видалення основного хостингу Windows Server. відсутність перезапуску VS. Я просто перезавантажив проекти.
profimedica


3

У мене були ті самі симптоми від пошкодженого dotnet core SDK (із командного рядка мені не вдалося запустити dotnet -v, де раніше я міг). Мій проект не вдалося завантажити після помилки інсталяції веб-платформи IIS. Повторна інсталяція .NET core SDK вирішила проблему.


3

У мене була та сама проблема. заспокоїв мене, щоб зрозуміти це. У моєму випадку я намагався відкрити нову програму ASP .NET Core і повертав 0 проектів, подібних до цього в цій публікації.

Що я спробував: Я спробував змінити змінні середовища в панелі керування \ Система та безпека \ Система (натисніть попередні налаштування)

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

Потім натисніть Змінні середовища

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

Потім перевірте, чи включений шлях dotnet, чи знаходиться він у розділі Файли програм або Файли програм (x86) введіть тут опис зображення

Деякі люди пропонували перемістити (x86) вгору, що базується на документації Microsoft

Що вирішило мою проблему: виявляється, у мене була встановлена ​​неправильна версія, і вона була несумісна з Visual Studio 2017 введіть тут опис зображення

Потім я видалив інші інсталяції та перевстановив потрібну версію, сумісну з VS17, яка працює як чарівна. Сподіваюся, це допоможе комусь у майбутньому.


1
Це була частина того, що працювало для мене. Усі інші SDK на моїй машині були 64-бітними (і, отже, у «Програмних файлах».) Мені довелося встановити останнє ядро ​​для VS 2017 - 2.2.110 як версію x86. Це потрапляє в дерево "Програмні файли (x86)". Я видалив раніше додані оператори PATH у звичайну папку "Program Files" і замінив їх на "Program Files (x86)", і це знову працює!
Грандайзер

Це мені допомогло! Я видалив купу sdk, які автоматично встановив для мене Windows 10 Insider Preview, і випадково видалив потрібний VS 2017. Дякую!
Джефф ЛаФей,

2

у моєму випадку я пішов до папки C: \ Program Files \ dotnet \ sdk, видаліть папку sdk для попереднього перегляду, а потім у командному рядку запустіть:

dotnet sdk 2.1.200

встановити правильну версію sdk для ядра asp.net. це вирішило проблему.


1

Дякую, хлопці, я перевстановив стару версію Visual Studio 2017, і вона працює добре. Моя версія VS - 15.4, і це нормально


7
Версія 15.6.7 тут, і проблема все ще присутня. Я б не позначав це як прийняту відповідь, оскільки це насправді не є рішенням для останніх версій VS.
alexlomba87

docs.microsoft.com/en-us/dotnet/core/… обов’язково VS2017 становить 15.9.0
Гріффін

1

Це трапилося зі мною, коли я видалив екземпляр VS2015 Visual Studio, який працював поруч із VS2017.

Мені довелося вийти і перевстановити .Net Core sdk / runtime з версією x86. Я вже робив версії x64 для них вручну, але не думав про візуальну студію, що працює в 32 бітах.

Це файли:

  • dotnet-sdk-xxx-win-x86.exe

  • DotNetCore.xxx-WindowsHosting.exe


1

Я стикався з тим самим питанням. Я запускав свій проект на .Net core 2.2. Я спробував кожне з наведених тут рішень, але нічого не вдалося. Я відремонтував свою візуальну студію, і зараз вона працює нормально.


1

У мене було таке саме повідомлення про помилку. У моєму випадку. Мені довелося встановити набір інструментів для кроссплатформенної розробки .NET Core .

Кроки:

  1. У Visual Studio перейдіть до Інструменти> Отримати інструменти та функції ...
  2. Змініть установку в розділі Робочі навантаження: виберіть крос-платформну розробку .NET Core і натисніть Змінити.
  3. Перезапустіть VS та відновіть свій проект.

1

Я вирішив це, оновивши Visual Studio до версії 2017 року.

Фактична проблема полягала в тому, що основна версія .net була пізніше, ніж Visual Studio.

Перейдіть до Довідка> Перевірити наявність оновлень, оновіть Visual Studio.


0

У мене була та ж проблема з проектом ASP.net Core 2.0 після того, як я встановив DotNetCore.2.0.5-WindowsHosting Framework на мою машину розробки. Я міг вирішити цю проблему після того, як видалив WindowsHosting Framework та всі пакети .net Core. Після цього я переінсталював пакет dotnet-sdk-2.1.200-win-x64 і все працювало нормально.


0

Видалення папок bin та obj для проекту це виправило для мене.


0

Те саме питання ... мені знадобився час, щоб зрозуміти. Оскільки я працював над проектом ASP.NET Core, націленим на .NET Core 1.1, я вважав, що мені все ще потрібен встановлений .NET Core 1.1 SDK. Оскільки у мене теж був встановлений .NET Core SDK 2.1, стався якийсь конфлікт, і я не зміг відкрити файл проекту. Після видалення .NET Core 1.1 я тоді зміг відкрити свій проект.


0

Запустіть відновлення точки точки в командному рядку для рішення.

Порада. Якщо ви видалили останню версію основного .net, скажімо, 2.1.403 та встановили попередню, переконайтеся, що папку 2.1.403 фактично видалено на шляху

C: \ Program Files \ dotnet \ sdk \

У мене виникла проблема через те, що там залишилася порожня папка з 2.1.403


0

Видаліть усі створені збіркою папки bin та obj . Це спрацювало для мене після перейменування проекту та спроби перезавантажити рішення. Не впевнений у справжній причині несумісного завантаження.


0

Я отримую ту саму проблему, і я знову запускаю Visual з правами адміністратора. Це допомагає мені відкрити проект номарлі.


0

Виявляється, мій проект залежав від іншого проекту у рішенні, який не вдався до проблем залежності NuGet, що, в свою чергу, було пов’язано з тим, що цільова структура у властивостях проекту була порожньою.

Я відкрив .csprojфайл, щоб перевірити цільовий фреймворк, завантажив цільовий фреймворк і вибрав "відновити", потім перезапустив Visual Studio і все добре знову!


0

У мене щойно виникла та сама проблема під час встановлення нової попередньої версії VS 2019. Я виправив її, видаливши останнє оновлення, яке, в свою чергу, видалило останню завантажену версію ядра. Яке я вірю, спричинило невідповідність.


0

Просто потрібно перехресно перевірити версію проекту .net бібліотеки базової бібліотеки з оновленою. Коли ви оновлюєте основну бібліотеку, вона не оновлюється в .csproj, або вам потрібно оновити її вручну, або потрібно видалити останній / оновлений основний файл sdk.

Щоб перевірити основну версію .net --fire на команді cmd: - dotnet --version

Потім зверніться до встановленої бібліотеки у програмі та особливостях - Видалення останньої бібліотеки вирішить проблему без зміни одного рядка

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.