Die Projektdatei ist unvollständig. Erwartete Importe fehlen

93

Nach dem Formatieren meines Computers habe ich Vs 2017 V 15.6.3 neu installiert und das ASP.Net Core SDK von Microsoft 2.1.4 installiert

Aber wenn ich eine neue Asp-Core-Anwendung erstelle, ist VS mit einem Fehler fehlgeschlagen

"Projektdatei ist unvollständig. Erwartete Importe fehlen"

Kann mir bitte jemand helfen?

Fehler nach beim Erstellen der ASP-Kernanwendung

Majd Albaho
quelle
Wie haben Sie "ASP.Net Core SDK von Microsoft 2.1.4 installiert"? Verwenden Sie das Visual Studio-Installationsprogramm oder einen anderen Prozess?
Neil
Kannst du deine Projektdatei posten?
Francesco B.
1
Ich habe diesen Link verwendet, um .net Core SDK Microsoft.com/net/download/thank-you/…
Majd Albaho
4
Diese Antwort hat mir geholfen, stackoverflow.com/a/55529011/342113 zu unterstützen . Derzeit stellt sich heraus, dass die 2.2.1xx-SDKs mit VS.NET 2017 kompatibel sind, die 2.2.2XX-SDKs jedoch nicht.
Rsbarro
1
@rsbarro Genau! Selbes Problem hier. Deshalb habe ich es als Antwort gepostet .
Steven Jeuris

Antworten:

18

Aufgelöst

  1. Selbst nach der Deinstallation einer bestimmten Version über die Systemsteuerung befinden sich die Dateien und Ordner mit der gelöschten Version in C: \ Programme \ dotnet \ sdk

  2. Bitte gehen Sie und löschen Sie unerwünschte Versionsordner

  3. Versuchen Sie, das Projekt neu zu laden

Das hat bei mir funktioniert

Jithin John
quelle
68

Ich hatte das gleiche Problem. In meinem Fall löste das Löschen von global.json und appsettings das Problem.

PilgrimViis
quelle
9
Dies funktionierte für mich, obwohl ich zur Verdeutlichung nur "global.json" löschen (/ umbenennen) musste. Fwiw: Es enthielt: {"sdk": {"version": "2.0.0"}}
ubienewbie
2
In meinem Fall fehlte die .NetCore Version 2.0.0-Installation auf meinem Computer und diese wurde in global.json erwähnt. Also habe ich es einfach installiert und es hat gut funktioniert.
Muhammad Umar
3
dotnet --versionzeigt 2.1.201, während global.json eine etwas niedrigere Version, 2.1.101, erwähnte. Anscheinend muss die Version genau übereinstimmen, damit sie funktioniert, keine Abwärtskompatibilität. Oder entfernen Sie einfach die Datei wie in dieser Antwort vorgeschlagen.
GolezTrol
7
Nur global.json zu löschen war genug für mich. Die Apps können an Ort und Stelle bleiben
Wouter Janssens
11
Es wäre schön, die Ordner von global.json und appsettings in dieser Antwort anzugeben.
Fernacolo
34

Eine weitere mögliche Ursache ist die Installation einer .NET Core-Version, die nicht mit Visual Studio kompatibel ist . Dies hat möglicherweise nichts mit der ursprünglichen Frage des OP zu tun, da es sich um unterschiedliche Versionsnummern handelt. Da ich jedoch auf dieser Seite gelandet bin, als ich nach Hilfe gesucht habe, dachte ich, dass dies für andere nützlich sein könnte.

Zum Zeitpunkt des Schreibens habe ich .NET Core 2.2.203 installiert, das nicht mit Visual Studio 2017 (Professional 15.9.11) kompatibel ist .

Auf der Download-Seite für .NET Core wird ein separater Download für Visual Studio 2017 aufgeführt. Laden Sie diesen Download herunter, wenn Sie Visual Studio 2017 verwenden möchten . Die derzeit unterstützte Version ist .NET Core 2.2.106 .

Steven Jeuris
quelle
Seltsamerweise habe ich in meiner App eine N-Tier-App (UI, BLL und DAL). Das BLL-Projekt wurde mit dieser Version von .NET Core problemlos geladen. +1
Dave
8
Du hast mich nach stundenlangem Headbangen gerettet. Microsoft hätte das offensichtlicher machen sollen als ein gutartig aussehendes (Compatible with Visual Studio 2017)Etikett. Es sollte ALL CAPS UND BIG FUCKING RED sein, verdammt noch mal.
Angel Yordanov
Vielen Dank! Das funktioniert! SDK 2.2.105 funktioniert nur mit Visual Studio 15.9.8 oder niedriger.
Hubert17
Das Upgrade der VS 2017 Community auf Version 15.9.12 löste das Problem in meinem Fall
GoldenAge
23

Sie können die Datei global.json überprüfen, die Sie im Stammverzeichnis der Lösung finden, und sicherstellen, dass die darin enthaltene Ziel-SDK-Version auf Ihrem Computer installiert ist, oder sie auf eine aktualisieren, die Sie bereits installiert haben, z. B. wenn Sie die SDK-Version 2.1.4 installiert haben Ihre global.json sollte so aussehen

{
  "sdk":
  {
    "version": "2.1.400"
  }
}   
Smart Dev
quelle
1
Das war es für mich. Version "2.1.300" in global.json, aber 2.1.200& 2.1.403installiert; Umstellung auf 2.1.400 hat funktioniert.
Pasi Savolainen
3
Es funktionierte sowohl das Ändern in eine der installierten Versionen des SDK als auch das versionvollständige Entfernen des Attributs
Salaros
2
Hat auch für mich gearbeitet. Die Version wurde so geändert, dass sie der Version entspricht, die ich bereits auf meinem System hatte. Sie können "dotnet --versions" ausführen, um zu sehen, was Sie installiert haben.
Daudihus
2
dotnet --list-sdksund dotnet --list-runtimesum alles zu sehen, was Sie installiert haben, dotnet --versionwird die aktuell verwendete Version angezeigt.
Nathanchere
Ich hatte "version": "2.1.403"in global.json mit SDK 2.1.4 installiert. "version": "2.1.400"hat bei mir nicht funktioniert. Ich musste SDK 2.4.103 bekommen.
Stephen
18

Die Reparatur der letzten Core-Installation hat bei mir funktioniert

Uzay
quelle
1
Ich musste auch neu starten, aber das hat es für mich behoben.
DTown
1
Wenn Sie wissen möchten, wie Sie .NET Framework reparieren können (funktioniert auch für Core), suchen Sie in Ihrer bevorzugten Suchmaschine nach ".NET Framework Repair Tool". Nur der erste Schritt hat es für mich behoben.
KSwift87
2
auch W10 Control Panel - Programme - Programme und Funktionen wählen Installation und Reparatur
Uzay
15

In meinem Fall hatte ich zwei Versionen von Visual Studio installiert (15.7 und 15.6). In 15.7 waren die Web-Workloads nicht installiert, obwohl .net Core 2.1 RC1 bereits installiert war. Ich habe die asp.net-Workload in VS2017 installiert und dann meine .net-Kerninstallation für ein gutes Maß repariert. Auf jeden Fall hat etwas in diesem Prozess meine c: \ Programme (x86) \ dotnet und c "\ Programme \ dotnet in diesem Pfad ausgetauscht, und Visual Studio (15.7) hat mein Webprojekt nicht geöffnet.

Ich habe einfach die Systemumgebungsvariablen bearbeitet, den x86-Ordner nach unten verschoben und voila - Visual Studio erneut geöffnet und nun mein Projekt geladen. Systemumgebungsvariablen

Adam Tuliper - MSFT
quelle
3
In meinem Fall wurde c: \ Programme \ dotnet \ aus meinen Pfaden entfernt
micahtan
1
ahhhhhh so viel Zeit damit verschwendet, das war die Antwort für mich. DANKE!
Spalt
Installierte NET4.7.1, dann wurden alle vorhandenen Net.Core-Projekte ruiniert. Die Magie "Nach unten bewegen" reparierte sie zurück.
Yury Schkatula
13

Eh, Anfängerfehler, ich hatte Visual Studio SSDT geöffnet und versuchte, ein vorhandenes .Net Core-Projekt zu öffnen, das den gleichen Fehler erzeugt:

"Projektdatei ist unvollständig. Erwartete Importe fehlen"

Die Lösung bestand darin, Visual Studio und nicht SSDT zu verwenden , siehe Hilfe> Info:

Geben Sie hier die Bildbeschreibung ein

Jeremy Thompson
quelle
1
Nach stundenlanger Verwirrung über die .net Core-Versionierung war dies die eigentliche Lösung für mich. Und für mich war SSDT die Standardeinstellung beim Öffnen einer Lösungsdatei aus einem Ordner, also habe ich das auch behoben. Vielen Dank!
Alex
9

Ich habe dieses Problem in letzter Zeit einige Male gelöst, indem ich Visual Studio geschlossen und die folgenden Befehle ausgeführt habe

  1. Dotnet Nuget Einheimische -c alle
  2. dotnet sauber
  3. Dotnet Build

Es scheint Zeiten zu geben, vor allem zu Beginn von Projekten, in denen Nuget aus dem Ruder läuft (Fachbegriff).

Brett Bim
quelle
9

Nach der Installation von VS2019 trat beim Öffnen vorhandener .Net Core-Lösungen in VS2017 der gleiche Fehler auf.
In Visual Studio Installer habe ich VS2017 auf die neueste Version (15.9.11) aktualisiert und das Problem ist verschwunden.

Später, nachdem ich VS2019 auf die neueste Version aktualisiert hatte, hatte ich dieselben Fehler und musste VS2017 erneut aktualisieren.

Michael Freidgeim
quelle
8

Ich habe dieses Problem gelöst, indem ich die erste Zeile in der .csproj-Datei geändert habe von:

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

zu:

<Project Sdk="Microsoft.NET.Sdk">
google dev
quelle
5

Ich habe diesen Fehler erhalten, als ich alle meine alten .NET Core SDKs deinstalliert und zum Zeitpunkt der Veröffentlichung das neueste 2.1.5 installiert habe. Ich habe alle Lösungen hier ohne Glück ausprobiert und mich daher entschlossen, nach all der Bereinigung zu überprüfen, was die aktuelle SDK-Version ist, weil ich dachte, dass dies das Problem verursacht, und ich hatte Recht - habe eine Eingabeaufforderung gestartet dotnet --versionund die Nachricht geschrieben und erhalten "Wollten Sie dotnet SDK-Befehle ausführen? Bitte installieren Sie dotnet SDK von:". Seltsamerweise ist das SDK installiert, aber das System sieht es nicht. Dann habe ich in meinen Umgebungsvariablen nachgesehen und die PATH-Variable hatte den Pfad x86 für dotnet vor dem Pfad für reguläre Programmdateien (x64). Also habe ich den x64 vor den x86 und voila verschoben, alles ist wieder normal.

Hoffe ich habe jemandem geholfen.

Ivaylo Dimitrov
quelle
Du hast mir geholfen. Dies geschah gerade, als ich ein Upgrade von 2.2.3 auf 2.2.4 durchführte. Ich frage mich, ob es eine bestimmte Reihenfolge für die Installation von Neuem / Deinstallieren von Alt gibt, die dies verursacht.
MattOG
@MattOG, ich habe zahlreiche Varianten zum Installieren / Deinstallieren ausprobiert, aber dieses Problem tritt jedes Mal auf. Ich denke, ich muss mich nur daran gewöhnen;) Es ist doch kein Problem, wenn wir eine Quelle wie Stackoverflow haben.
Ivaylo Dimitrov
Entspricht es der Antwort von Smart Dev? Die Projektdatei ist unvollständig. Erwartete Importe fehlen ?
Michael Freidgeim
4

Ich habe das gleiche Problem. Ich konnte keinen neuen ASP .Net Core 2 auf einem neu installierten VS2017 erstellen oder einen vorhandenen öffnen, der auf einem anderen Computer mit VS2017 perfekt funktioniert.

Nach der Deinstallation aller .NET Core Runtimes und .NET Core Windows Server Hosting unter Windows hat die Arbeit für mich begonnen. SDKs wurden nur noch übrig und alles funktioniert endlich. Geben Sie hier die Bildbeschreibung ein

Wahrscheinlich musste ich nur .NET Core Runtimes oder .NET Core Windows Server Hosting unter Windows deinstallieren, und es würde ausreichen.

Serg
quelle
Ich hatte noch nie ASP Core 2 SDK auf meinem Computer installiert, Problem auch nach der Neuinstallation noch vorhanden
alexlomba87
Hat für mich gearbeitet. Nach der Deinstallation von Core Windows Server Hosting. kein Neustart von VS. Ich habe gerade die Projekte neu geladen.
profimedica
4

Das einzige, was für mich funktioniert hat, war das Upgrade von Visual Studio:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Egon Allison
quelle
3

Ich hatte die gleichen Symptome von einem beschädigten Dotnet-Core-SDK (über die Befehlszeile konnte ich dotnet -v nicht ausführen, wo ich es zuvor konnte). Mein Projekt konnte nach einem fehlgeschlagenen Installationsfehler der IIS-Webplattform nicht geladen werden. Durch die Neuinstallation von .NET Core SDK wurde das Problem behoben.

lukace
quelle
3

Ich hatte das gleiche Problem. Ich brauchte eine Weile, um es herauszufinden. In meinem Fall habe ich versucht, eine neue ASP .NET Core-Anwendung zu öffnen, und ich habe 0 Projekte wie das in diesem Beitrag erhalten.

Was ich versucht habe: Ich habe versucht, Umgebungsvariablen unter Systemsteuerung \ System und Sicherheit \ System zu ändern (klicken Sie auf Erweiterte Einstellungen).

Geben Sie hier die Bildbeschreibung ein

Klicken Sie dann auf Umgebungsvariablen

Geben Sie hier die Bildbeschreibung ein

Überprüfen Sie dann, ob der Dotnet-Pfad enthalten ist, ob er sich unter Programme oder Programmdateien (x86) befindet. Geben Sie hier die Bildbeschreibung ein

Einige Leute schlugen vor, (x86) nach oben zu verschieben, was auf der Microsoft-Dokumentation basiert

Was mein Problem behoben hat: Es stellte sich heraus, dass ich die falsche Version installiert hatte und diese nicht mit Visual Studio 2017 kompatibel war Geben Sie hier die Bildbeschreibung ein

Dann habe ich die anderen Installationen entfernt und die richtige Version neu installiert, die mit VS17 kompatibel ist und wie ein Zauber funktioniert. Hoffe es hilft jemandem in der Zukunft.

Namig Ismayilov
quelle
1
Dies war ein Teil dessen, was für mich funktioniert hat. Alle anderen SDKs auf meinem Computer waren 64-Bit (und damit in "Programme"). Ich musste den neuesten Core für VS 2017 - 2.2.110 als x86-Version installieren. Dies geht in den Baum "Programme (x86)". Ich habe die zuvor hinzugefügten PATH-Anweisungen aus dem normalen Ordner "Programme" entfernt und durch "Programme (x86)" ersetzt, und es funktioniert wieder!
Grandizer
Das hat mir geholfen! Ich habe eine Reihe von SDKs deinstalliert, die Windows 10 Insider Preview automatisch für mich installiert hat, und versehentlich die benötigte VS 2017 entfernt. Vielen Dank!
Jeff LaFay
2

In meinem Fall ging ich in den Ordner C: \ Programme \ dotnet \ sdk, löschte den Vorschau-SDK-Ordner und führte dann in der Befehlszeile Folgendes aus:

dotnet sdk 2.1.200

um die richtige SDK-Version für den asp.net-Kern einzustellen. Dies hat das Problem behoben.

koo9
quelle
1

Vielen Dank, ich hatte eine ältere Version von Visual Studio 2017 neu installiert und es funktioniert gut. Meine VS-Version ist 15.4 und es ist in Ordnung

Majd Albaho
quelle
7
Version 15.6.7 hier, und das Problem ist noch vorhanden. Ich würde dies nicht als akzeptierte Antwort markieren, da es nicht wirklich eine Lösung für die neuesten VS-Versionen ist.
Alexlomba87
docs.microsoft.com/en-us/dotnet/core/… erforderlich VS2017 ist 15.9.0
Griffin
1

Dies ist mir passiert, als ich eine VS2015-Instanz von Visual Studio deinstalliert habe, die neben VS2017 ausgeführt wurde.

Ich musste die .Net Core SDK / Runtime mit der x86-Version neu installieren. Ich hatte die x64-Versionen dieser bereits manuell erstellt, aber nicht daran gedacht, dass Visual Studio in 32-Bit ausgeführt wird.

Dies sind die Dateien:

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

  • DotNetCore.xxx-WindowsHosting.exe

Jason
quelle
1

Ich stand vor dem gleichen Problem. Ich habe mein Projekt auf .Net Core 2.2 ausgeführt. Ich habe jede hier angegebene Lösung ausprobiert, aber nichts hat funktioniert. Ich habe mein visuelles Studio repariert und es funktioniert jetzt einwandfrei.

Kinjal Parmar
quelle
1

Ich hatte die gleiche Fehlermeldung. In meinem Fall. Ich musste das plattformübergreifende .NET Core-Entwicklungs- Toolset installieren .

Schritte:

  1. Gehen Sie in Visual Studio zu Extras> Tools und Funktionen abrufen ...
  2. Ändern Sie die Installation unter Workloads: Wählen Sie die plattformübergreifende .NET Core-Entwicklung aus und klicken Sie auf Ändern.
  3. Starten Sie VS neu und erstellen Sie Ihr Projekt neu.
Sieger
quelle
1

Ich habe es behoben, indem ich Visual Studio auf die Version 2017 aktualisiert habe.

Das eigentliche Problem war, dass die .net-Kernversion später als Visual Studio war.

Gehen Sie zu Hilfe> Nach Updates suchen und aktualisieren Sie Visual Studio.

Asad ullah
quelle
0

Ich hatte das gleiche Problem mit einem ASP.net Core 2.0-Projekt, nachdem ich das DotNetCore.2.0.5-WindowsHosting Framework auf meinem Entwicklungscomputer installiert hatte. Ich konnte dieses Problem lösen, nachdem ich das WindowsHosting Framework und alle .net Core-Pakete deinstalliert habe. Danach habe ich das dotnet-sdk-2.1.200-win-x64-Paket neu installiert und alles hat gut funktioniert.

Peter H.
quelle
0

Das Löschen der Ordner bin und obj für das Projekt hat dies für mich behoben.

Dummkopf
quelle
0

Das gleiche Problem ... ich habe eine Weile gebraucht, um es herauszufinden. Da ich an einem ASP.NET Core-Projekt arbeitete, das auf .NET Core 1.1 abzielte, dachte ich, ich müsste immer noch das .NET Core 1.1 SDK installieren. Da ich auch .NET Core SDK 2.1 installiert hatte, gab es einen Konflikt und ich konnte die Projektdatei nicht öffnen. Nach der Deinstallation von .NET Core 1.1 konnte ich mein Projekt öffnen.

Lee Cordell
quelle
0

Führen Sie die Dotnet-Wiederherstellung in der Befehlszeile für die Lösung aus.

Trinkgeld. Wenn Sie die neueste .net-Kernversion deinstalliert haben, z. B. 2.1.403, und die vorherige installiert haben, stellen Sie sicher, dass der Ordner 2.1.403 tatsächlich im Pfad entfernt wurde

C: \ Programme \ dotnet \ sdk \

Ich hatte das Problem, weil dort ein leerer Ordner mit 2.1.403 übrig blieb

Artem Vertiy
quelle
0

Löschen Sie alle vom Build generierten Ordner bin und obj . Dies funktionierte für mich, nachdem ich das Projekt umbenannt und versucht hatte, die Lösung neu zu laden. Ich bin mir nicht sicher über die wahre Ursache des inkompatiblen Ladens.

Antti
quelle
0

Ich erhalte das gleiche Problem und führe Visual mit Administratorrechten erneut aus. Dies hilft mir, das Projekt nomarlly zu öffnen.

hoanvd1210
quelle
0

Es stellte sich heraus, dass mein Projekt von einem anderen Projekt in der Lösung abhängig war, bei dem NuGet-Abhängigkeitsprobleme fehlgeschlagen waren, was wiederum darauf zurückzuführen war, dass das Ziel-Framework in den Projekteigenschaften leer war.

Ich habe die .csprojDatei geöffnet, um das Zielframework zu überprüfen, das Zielframework heruntergeladen und "Reparieren" ausgewählt, dann Visual Studio neu gestartet und alles wieder gut!

SharpC
quelle
0

Ich hatte gerade das gleiche Problem bei der Installation der neuen Vorschau-Version von VS 2019. Ich habe es behoben, indem ich das neueste Update deinstalliert habe, das wiederum die zuletzt heruntergeladene Version von Core deinstalliert hat. Was ich glaube, hat das Missmatch verursacht.

Johan
quelle
0

Sie müssen nur die Version der .net-Kernbibliothek für die Projekterstellung mit der aktualisierten Version überprüfen. Wenn Sie die Kernbibliothek aktualisieren, wird sie nicht in .csproj aktualisiert. Sie müssen sie entweder manuell aktualisieren oder die neueste / aktualisierte Kern-SDK-Datei entfernen.

So überprüfen Sie den Befehl .fire core version --fire auf cmd: - dotnet --version

Überprüfen Sie dann die installierte Bibliothek unter Programm und Funktionen. - Durch Entfernen der neuesten Bibliothek wird das Problem behoben, ohne dass eine einzelne Zeile geändert wird

Pooja Suryawanshi
quelle