Plik projektu jest niekompletny. Brak oczekiwanego importu

95

Po sformatowaniu komputera ponownie zainstalowałem Vs 2017 V 15.6.3 i zainstalowałem ASP.Net Core SDK z Microsoft 2.1.4

Ale kiedy tworzę nową podstawową aplikację ASP, VS nie powiodło się z powodu błędu

„Plik projektu jest niekompletny. Brak oczekiwanych importów”

Czy ktoś może pomóc?

Błąd po podczas tworzenia podstawowej aplikacji ASP

Majd Albaho
źródło
W jaki sposób „zainstalowałeś ASP.Net Core SDK z Microsoft 2.1.4”? Używasz Instalatora programu Visual Studio lub innego procesu?
Neil
czy możesz opublikować plik projektu?
Francesco B.
1
Użyłem tego linku, aby skonfigurować sdk .net core microsoft.com/net/download/thank-you/ ...
Majd Albaho
4
Ta odpowiedź pomogła mi w stackoverflow.com/a/55529011/342113 . Obecnie okazuje się, że zestawy SDK 2.2.1xx są zgodne z VS.NET 2017, ale zestawy SDK 2.2.2XX nie.
rsbarro
1
@rsbarro Dokładnie! Mam ten sam problem. Dlatego zamieściłem to jako odpowiedź .
Steven Jeuris

Odpowiedzi:

18

Zdecydowany

  1. Nawet po odinstalowaniu określonej wersji z panelu sterowania w C: \ Program Files \ dotnet \ sdk znajdowały się pliki i foldery z usuniętą wersją

  2. Przejdź i usuń folder niechcianej wersji

  3. Spróbuj ponownie załadować projekt

To zadziałało dla mnie

jithin john
źródło
69

Miałem ten sam problem. W moim przypadku usunięcie global.json i appsettings rozwiązało problem.

PilgrimViis
źródło
9
To zadziałało dla mnie, chociaż aby wyjaśnić, musiałem tylko usunąć (/ zmienić nazwę) „global.json”. Fwiw: Zawierał: {"sdk": {"version": "2.0.0"}}
ubienewbie
2
W moim przypadku brakowało mi instalacji .NetCore w wersji 2.0.0 na moim komputerze i było to wspomniane w global.json. Więc właśnie go zainstalowałem i działało dobrze.
Muhammad Umar
3
dotnet --versionpokazuje 2.1.201, podczas gdy global.json wspomniał o nieco niższej wersji, 2.1.101. Najwyraźniej wersja musi dokładnie pasować, aby działała, bez kompatybilności wstecznej. Lub po prostu usuń plik zgodnie z sugestią w tej odpowiedzi.
GolezTrol
7
wystarczyło mi usunięcie tylko global.json. Ustawienia aplikacji mogą pozostać na miejscu
Wouter Janssens
11
Byłoby miło powiedzieć o folderze (folderach) global.json i appsettings w tej odpowiedzi.
fernacolo
35

Inną potencjalną przyczyną jest zainstalowanie wersji .NET Core, która jest niezgodna z programem Visual Studio . Może to być niezwiązane z pierwotnym pytaniem OP, ponieważ dotyczy różnych numerów wersji, ale ponieważ wylądowałem na tej stronie, szukając pomocy, pomyślałem, że może to być przydatne dla innych.

W chwili pisania tego tekstu zainstalowałem .NET Core 2.2.203, który nie jest kompatybilny z Visual Studio 2017 (Professional 15.9.11).

W .NET Główne Strona pobierania listy osobny plik do pobrania dla programu Visual Studio 2017 należy pobrać ten jeden, kiedy masz zamiar użyć Visual Studio 2017. Aktualna wersja obsługiwana jest .NET rdzenia 2.2.106 .

Steven Jeuris
źródło
Co dziwne, w mojej aplikacji mam aplikację N-Tier (UI, BLL i DAL). Projekt BLL został poprawnie załadowany w tej wersji programu .NET Core. +1
Dave
Dziękuję Ci bardzo! To działa! Zestaw SDK 2.2.105 działa tylko z programem Visual Studio 15.9.8 lub starszym.
hubert17
aktualizacja społeczności VS 2017 do wersji 15.9.12 rozwiązała problem w moim przypadku
GoldenAge
23

Możesz sprawdzić plik global.json, który możesz znaleźć w katalogu głównym rozwiązania i upewnić się, że docelowa wersja SDK jest zainstalowana na twoim komputerze lub zaktualizować ją do takiej, którą już masz zainstalowaną, na przykład jeśli masz zainstalowany SDK w wersji 2.1.4 Twój plik global.json powinien wyglądać tak

{
  "sdk":
  {
    "version": "2.1.400"
  }
}   
Smart Dev
źródło
1
To było to dla mnie. Wersja "2.1.300" w global.json, ale 2.1.200& 2.1.403zainstalowana; zmiana na 2.1.400 zadziałała.
Pasi Savolainen
3
Udało się zarówno zmienić go na jedną z zainstalowanych wersji SDK, jak i versioncałkowicie usunąć atrybut
Salaros
2
U mnie też zadziałało. Zmieniłem wersję, aby była najbliższa temu, co już miałem w swoim systemie. Możesz uruchomić „dotnet --versions”, aby zobaczyć, co zostało zainstalowane.
daudihus
2
dotnet --list-sdksa dotnet --list-runtimeszobaczysz wszystko, co zainstalowałeś dotnet --version, pokaże aktualnie używaną wersję.
nathanchere,
1
To było rozwiązanie również dla nas. W naszym przypadku mieliśmy kilka projektów na VS2017 z netcore 2.1; zainstalowaliśmy netcore 3 i nie mogliśmy już otwierać projektów. Utworzenie global.json w folderze głównym projektu rozwiązało problem
Jack Casas
19

Naprawianie ostatniej instalacji Core zadziałało

Uzay
źródło
1
Musiałem również zrestartować komputer, ale to naprawiło to dla mnie.
DTown
2
Osoby szukające „jak” naprawić .NET Framework (działa również dla Core), wyszukaj „.NET Framework Repair Tool” w swojej ulubionej wyszukiwarce. Uruchomienie tylko pierwszego kroku naprawiło to dla mnie.
KSwift87
2
także Panel sterowania W10 - Programy - Programy i funkcje wybierz instalację i naprawę
Uzay
15

W moim przypadku miałem zainstalowane dwie wersje Visual Studio (15.7 i 15.6). W wersji 15.7 nie zainstalowano obciążeń WWW, chociaż .net core 2.1 RC1 był już zainstalowany. Zainstalowałem obciążenie asp.net w VS2017, a następnie naprawiłem moją instalację rdzenia .net. Zdecydowanie coś w tym procesie zamieniło moje c: \ program files (x86) \ dotnet ic "\ program files \ dotnet w tej ścieżce, a program Visual Studio (15.7) nie otworzył mojego projektu sieci Web.

Po prostu wyedytowałem zmienne środowiska systemowego, przeniosłem folder x86 w dół o jeden i voila - ponownie otworzyłem Visual Studio i teraz załadowałem mój projekt. Zmienne środowiskowe systemu

Adam Tuliper - MSFT
źródło
3
W moim przypadku c: \ Program Files \ dotnet \ został usunięty z moich PATH
micahtan
1
ahhhhhh tyle czasu straconego na tym, to była odpowiedź dla mnie. DZIĘKUJĘ CI!
spalt
Zainstalowałem NET4.7.1, a następnie wszystkie istniejące projekty Net.Core zostały zrujnowane. Magia „ruchu w dół” naprawiła ich z powrotem.
Yury Schkatula,
14

Ech, błąd debiutanta, miałem otwarty program Visual Studio SSDT i próbowałem otworzyć istniejący projekt .Net Core, który powoduje ten sam błąd:

„Plik projektu jest niekompletny. Brak oczekiwanych importów”

Rozwiązaniem było użycie programu Visual Studio, a nie SSDT , zobacz Pomoc> Informacje:

wprowadź opis obrazu tutaj

Jeremy Thompson
źródło
1
Po wielu godzinach nieporozumień związanych z wersjami jądra .net, było to dla mnie właściwe rozwiązanie. Dla mnie SSDT stał się domyślnym przy otwieraniu pliku rozwiązania z folderu, więc to też naprawiłem. Dzięki!
Alex
9

Ostatnio kilkakrotnie rozwiązałem ten problem, zamykając program Visual Studio i uruchamiając następujące polecenia

  1. lokalizacje nuget dotnet -c all
  2. dotnet clean
  3. dotnet build

Wydaje się, że są chwile, zwłaszcza na początku projektów, kiedy nuget wychodzi z domu (termin techniczny).

Brett Bim
źródło
9

Rozwiązałem ten problem, modyfikując pierwszą linię w pliku .csproj z:

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

do:

<Project Sdk="Microsoft.NET.Sdk">
google dev
źródło
9

Po zainstalowaniu VS2019 zacząłem mieć ten sam błąd podczas otwierania istniejących rozwiązań .Net Core w VS2017.
W Instalatorze programu Visual Studio zaktualizowałem VS2017 do najnowszej wersji (15.9.11) i problem zniknął.

Później po aktualizacji VS2019 do najnowszej wersji zacząłem mieć te same błędy i musiałem ponownie zaktualizować VS2017.

Michael Freidgeim
źródło
5

Zacząłem otrzymywać ten błąd po odinstalowaniu wszystkich moich starych zestawów SDK platformy .NET Core i zainstalowaniu najnowszego, 2.1.5 w momencie wysyłania. Wypróbowałem wszystkie rozwiązania tutaj bez powodzenia, więc postanowiłem sprawdzić, jaka jest aktualna wersja SDK po wszystkich czyszczeniach, które zrobiłem, ponieważ myślałem, że to powoduje problem i miałem rację - uruchomiłem wiersz polecenia, napisałem dotnet --versioni otrzymałem wiadomość „Czy chodziło Ci o uruchomienie poleceń dotnet SDK? Zainstaluj pakiet dotnet SDK z:”. Dziwne, SDK jest zainstalowany, ale system go nie widzi. Potem zajrzałem do moich zmiennych środowiskowych, a zmienna PATH miała ścieżkę x86 for dotnet przed zwykłą ścieżką Program Files (x64). Więc przeniosłem x64 przed x86 i voila, wszystko wróciło do normy.

Mam nadzieję, że komuś pomogłem.

Ivaylo Dimitrov
źródło
Pomogłeś mi. Stało się to po prostu podczas aktualizacji z 2.2.3 do 2.2.4. Zastanawiam się, czy istnieje określona kolejność instalowania nowych / odinstalowywania starych, która to powoduje.
MattOG,
@MattOG, próbowałem wielu wariantów instalacji / deinstalacji, ale ten problem pojawia się za każdym razem. Chyba po prostu będę musiał się do tego przyzwyczaić;) Nie jest to w końcu nic wielkiego, skoro mamy źródło takie jak stackoverflow.
Ivaylo Dimitrov
Czy to to samo, co odpowiedź Smart Dev Plik projektu jest niekompletny. Brakuje oczekiwanego importu ?
Michael Freidgeim
4

Mam ten sam problem. Nie mogłem utworzyć nowego ASP .Net Core 2 na świeżo zainstalowanym VS2017 lub otworzyć istniejącego, który działa doskonale na innym komputerze z VS2017.

Zaczęło działać dla mnie po odinstalowaniu wszystkich .NET Core Runtimes i .NET Core Windows Server Hosting z Windows. SDK zostały tylko i wszystko działa. wprowadź opis obrazu tutaj

Prawdopodobnie musiałem odinstalować tylko .NET Core Runtimes lub .NET Core Windows Server Hosting z systemu Windows i to wystarczy.

Serg
źródło
Nigdy nie miałem zainstalowanego ASP Core 2 SDK na moim komputerze, problem nadal występuje nawet po świeżej instalacji
alexlomba87
Pracował dla mnie. Po odinstalowaniu Core Windows Server Hosting. brak restartu VS. Właśnie ponownie załadowałem projekty.
profimedica
4

Jedyną rzeczą, która zadziałała, była aktualizacja programu Visual Studio:

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

Egon Allison
źródło
3

Miałem te same objawy z uszkodzonego zestawu SDK dotnet core (z wiersza poleceń nie mogłem uruchomić dotnet -v, gdzie wcześniej mogłem). Mój projekt nie został załadowany po nieudanej instalacji platformy internetowej usług IIS. Ponowna instalacja .NET core SDK rozwiązała problem.

lukace
źródło
3

Miałem ten sam problem. zajęło mi trochę czasu, zanim to rozgryzłem. W moim przypadku próbowałem otworzyć nową aplikację ASP .NET Core i otrzymywałem 0 projektów, takich jak ten w tym poście.

Co próbowałem: próbowałem zmienić zmienne środowiskowe w Panelu sterowania \ System i zabezpieczenia \ System (kliknij ustawienia zaawansowane)

wprowadź opis obrazu tutaj

Następnie kliknij Zmienne środowiskowe

wprowadź opis obrazu tutaj

Następnie sprawdź, czy masz dołączoną ścieżkę dotnet, niezależnie od tego, czy znajduje się w obszarze Program Files czy Program Files (x86) wprowadź opis obrazu tutaj

Niektórzy sugerowali przeniesienie (x86) w górę, co jest oparte na dokumentacji Microsoft

Co rozwiązało mój problem: Okazuje się, że zainstalowałem niewłaściwą wersję i nie była ona zgodna z programem Visual Studio 2017 wprowadź opis obrazu tutaj

Następnie usunąłem inne instalacje i ponownie zainstalowałem odpowiednią wersję, która jest kompatybilna z VS17 i ​​działa jak magia. Mam nadzieję, że pomoże to komuś w przyszłości.

Namig Ismayilov
źródło
1
To była część tego, co zadziałało dla mnie. Wszystkie inne SDK na moim komputerze były 64-bitowe (a więc w "Program Files"). Musiałem zainstalować najnowszy Core dla VS 2017 - 2.2.110 jako wersję x86. To trafia do drzewa "Program Files (x86)". Usunąłem wcześniej dodane instrukcje PATH do normalnego folderu „Program Files” i zastąpiłem je „Program Files (x86)” i znowu działa!
Grandizer
To mi pomogło! Odinstalowałem kilka pakietów SDK, które automatycznie zainstalowałem w Windows 10 Insider Preview i przypadkowo usunąłem ten potrzebny VS 2017. Dzięki!
Jeff LaFay
2

w moim przypadku poszedłem do folderu C: \ Program Files \ dotnet \ sdk usuń folder Preview sdk, a następnie w wierszu poleceń uruchom:

dotnet sdk 2.1.200

aby ustawić poprawną wersję sdk dla asp.net core. to rozwiązało problem.

koo9
źródło
2

Miałem ten sam komunikat o błędzie. W moim przypadku. Musiałem zainstalować zestaw narzędzi programistycznych dla wielu platform .NET Core .

Kroki:

  1. W programie Visual Studio przejdź do opcji Narzędzia> Pobierz narzędzia i funkcje ...
  2. Zmodyfikuj instalację w obszarze Obciążenia: wybierz programowanie międzyplatformowe .NET Core i kliknij Modyfikuj.
  3. Uruchom ponownie VS i odbuduj swój projekt.
zwycięzca
źródło
1

Dzięki chłopaki, przeinstalowałem starszą wersję Visual Studio 2017 i działa dobrze. Moja wersja VS to 15.4 i jest w porządku

Majd Albaho
źródło
7
Wersja 15.6.7 tutaj, a problem nadal występuje. Nie oznaczałbym tego jako zaakceptowanej odpowiedzi, ponieważ tak naprawdę nie jest to rozwiązanie dla najnowszych wersji VS.
alexlomba87
docs.microsoft.com/en-us/dotnet/core/ ... wymagany VS2017 to 15.9.0
Griffin
1

Zdarzyło mi się to, gdy odinstalowałem wystąpienie programu Visual Studio VS2015, które pracowałem równolegle z VS2017.

Musiałem wyjść i ponownie zainstalować .Net Core sdk / runtime z wersją x86. Robiłem już ręcznie wersje x64 tych wersji, ale nie myślałem o Visual Studio działającym w 32-bitowej wersji.

Oto pliki:

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

  • DotNetCore.xxx-WindowsHosting.exe

Jason
źródło
1

Miałem ten sam problem. Uruchomiłem swój projekt na .Net core 2.2. Wypróbowałem każde podane tutaj rozwiązanie, ale nic nie działało. Naprawiłem swoje studio wizualne i teraz działa dobrze.

Kinjal Parmar
źródło
1

Rozwiązałem to, aktualizując Visual Studio do wersji 2017.

Rzeczywisty problem polegał na tym, że wersja rdzenia .net była późniejsza niż Visual Studio.

Przejdź do pomocy> Sprawdź dostępność aktualizacji, zaktualizuj program Visual Studio.

Asad ullah
źródło
0

Miałem ten sam problem z projektem ASP.net Core 2.0 po zainstalowaniu DotNetCore.2.0.5-WindowsHosting Framework na moim komputerze deweloperskim. Mogłem rozwiązać ten problem po odinstalowaniu WindowsHosting Framework i wszystkich pakietów .net Core. Po tym ponownie zainstalowałem pakiet dotnet-sdk-2.1.200-win-x64 i wszystko działało dobrze.

Peter H.
źródło
0

Usunięcie folderów bin i obj dla projektu rozwiązało ten problem.

Foole
źródło
0

Ten sam problem ... zajęło mi trochę czasu, zanim się zorientowałem. Ponieważ pracowałem nad projektem ASP.NET Core, który był przeznaczony dla platformy .NET Core 1.1, pomyślałem, że nadal potrzebuję zainstalowanego zestawu SDK .NET Core 1.1. Ponieważ miałem również zainstalowany .NET Core SDK 2.1, wystąpił jakiś konflikt i nie mogłem otworzyć pliku projektu. Po odinstalowaniu .NET Core 1.1 mogłem otworzyć swój projekt.

Lee Cordell
źródło
0

Uruchom przywracanie dotnet w wierszu polecenia dla rozwiązania.

Wskazówka. Jeśli odinstalowałeś najnowszą wersję .net core, powiedzmy 2.1.403 i zainstalowałeś poprzednią, upewnij się, że folder 2.1.403 został faktycznie usunięty ze ścieżki

C: \ Program Files \ dotnet \ sdk \

Miałem problem, ponieważ zostawiłem pusty folder z wersją 2.1.403

Artem Vertiy
źródło
0

Usuń wszystkie foldery bin i obj wygenerowane przez kompilację . To zadziałało dla mnie po zmianie nazwy projektu i próbie ponownego załadowania rozwiązania. Nie mam pewności co do prawdziwej przyczyny niezgodnego ładowania.

Antti
źródło
0

Mam ten sam problem i ponownie uruchamiam Visual z uprawnieniami administratora. To pomaga mi łatwo otwierać projekt.

hoanvd1210
źródło
0

Okazuje się, że mój projekt był zależny od innego projektu w rozwiązaniu, w którym nie powiodło się problemy z zależnościami NuGet, co z kolei było spowodowane tym, że platforma docelowa we właściwościach projektu była pusta.

Otworzyłem .csprojplik, aby sprawdzić platformę docelową, pobrałem platformę docelową i wybrałem opcję „Napraw”, a następnie ponownie uruchomiłem Visual Studio i wszystko dobrze!

SharpC
źródło
0

Po prostu miałem ten sam problem podczas instalacji nowej wersji zapoznawczej VS 2019. Naprawiłem go, odinstalowując najnowszą aktualizację, która z kolei odinstalowała najnowszą pobraną wersję rdzenia. Co, jak sądzę, spowodowało błąd.

Johan
źródło
0

Wystarczy sprawdzić krzyżowo wersję biblioteki .net core utworzonej przez projekt, a zaktualizowaną. Gdy zaktualizujesz bibliotekę podstawową, nie zostanie ona zaktualizowana do .csproj, albo musisz zaktualizować ją ręcznie, albo musisz usunąć najnowszy / zaktualizowany plik sdk core.

Aby sprawdzić wersję rdzenia .NET - polecenie Fire w cmd: - dotnet --version

Następnie sprawdź zainstalowaną bibliotekę w Programie i funkcjach - Usunięcie najnowszej biblioteki rozwiązuje problem bez zmiany jednej linii

Pooja Suryawanshi
źródło