Pakete über Nuget installieren - "Central Directory korrupt"

8

Ich versuche mit NuGet (in VS2015) ein Paket zu meinem Projekt hinzuzufügen. Wenn ich auf "Installieren" klicke, sehe ich

  

Herunterladen fehlender Pakete ...

am oberen Bildschirmrand mit einer Fortschrittsanzeige.

Nach einem Moment wird die Nachricht durch -

ersetzt
  

Beim Versuch, Pakete wiederherzustellen, ist ein Fehler aufgetreten: Zentrales Verzeichnis beschädigt.

mit einer Schaltfläche "Wiederherstellen" am Ende, die den gleichen Prozess macht.

Hat jemand eine Idee, wie Sie das beheben können?

    
John C 11.01.2016, 12:51
quelle

2 Antworten

16

Bearbeitung 07/2017

Eine viel einfachere Methode zur Lösung dieses Problems besteht darin, Visual Studio einfach dazu zu bringen, das Paket erneut herunterzuladen -

  1. Öffnen Sie in Visual Studio Tools -> Options .
  2. Wählen Sie NuGet Package Manager .
  3. Stellen Sie sicher, dass sowohl Allow NuGet to download missing packages als auch Automatically check for missing packages during build in Visual Studio beide markiert sind.
  4. Klicken Sie auf OK .
  5. Navigieren Sie in einem Datei-Explorer-Fenster in den Ordner "packages" des Projekts.
  6. Drei Optionen -
    • Finden Sie heraus, welches Paket fehlerhaft ist, wie in der ursprünglichen Antwort beschrieben, und löschen Sie seinen Ordner.
    • Verschieben Sie alle Pakete an einen temporären Speicherort, wenn Sie nicht sicher sind, ob sie alle noch in NuGet verfügbar sind (Sie müssen die fehlenden anschließend wieder kopieren)
    • Löschen Sie alle Paketordner, wenn Sie sicher sind, dass alle Pakete in NuGet noch verfügbar sind.
  7. Zurück in Visual Studio erstellen Sie Ihre Lösung.
  8. Visual Studio sollte alle Ihre Pakete herunterladen.

Ursprüngliche Antwort

Ok, das Problem hier war, dass die Datei .nupkg für ein Paket (gefunden in Projektstamm / packges / Paketordner ) irgendwann beschädigt war und hatte eine Größe von Null.

Ich habe herausgefunden, welches Paket beschädigt ist, nachdem ich versucht habe, ein zufälliges Paket mit der Paketmanager-Konsole manuell zu installieren -

%Vor%

Das hat mir gesagt, dass es ein Problem mit einem aktuell installierten Paket gab -

  

Install-Paket: Beim Abrufen der Paketmetadaten für 'Paketname' ist ein Fehler aufgetreten.

Von da an konnte ich es beheben, indem ich Folgendes tat -

  1. Navigieren Sie zur Seite von NuGet
  2. Suchen Sie mithilfe der Suchfunktion oben auf der Seite nach dem Projekt
  3. Laden Sie die Datei .nupkg herunter, indem Sie den Link "Download" auf der linken Seite verwenden (Versionsnummer überprüfen).
  4. Kopieren Sie die heruntergeladene Datei über die alte Datei im Ordner "packages".
John C 11.01.2016, 14:00
quelle
3

Entfernen Sie alle Nuget-Pakete unter \ packages \ (ich hatte mehrere beschädigte Pakete)

Gehen Sie in Visual Studio zu Ihrer Lösung und klicken Sie auf "Nuget-Pakete wiederherstellen"

Bauen Sie Ihre Lösung neu auf

Sollte behoben sein:)

    
NicoJuicy 23.03.2017 09:53
quelle