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


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


69

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


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 .


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"
  }
}   

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


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


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


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).


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">

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.


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.


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


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.


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


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.


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.


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.


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.

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


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


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


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.


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.


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.


0

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


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.


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


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.


0

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


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!


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.