Die Wiederherstellung des NuGet-Pakets ist für das Projekt fehlgeschlagen. Verschiedene Dateien: Der Wert darf nicht null oder eine leere Zeichenfolge sein. Parametername: root. 0 0

89

Ich habe einen solchen Fehler in vs 2012: Die Wiederherstellung des NuGet-Pakets ist für das Projekt fehlgeschlagen. Verschiedene Dateien: Der Wert darf nicht null oder eine leere Zeichenfolge sein. Parametername: root. 0 0

Ich sehe, dass es sich um einen Fehler handelt, https://nuget.codeplex.com/workitem/3780 , der für Version 2.8 behoben wurde. Ich kann die Version 2.8 jedoch nicht unter https://nuget.codeplex.com finden. Ist es möglich, den Fehler zu beheben? Fehler ohne die Installation der Version 2.8? Oder wie bekommt man die 2.8?

Mitternachtsgast
quelle
1
Ich bin mir bei den Details nicht sicher, aber dies kann auch passieren, wenn Sie versuchen, einen Ausgabedateinamen mithilfe von Makros wie $ (SolutionDir) $ (Konfiguration) \ MyInstaller.msi zu verwenden. Beim Versuch, einen VS zu erstellen, ist dieses Problem aufgetreten Installer und ich gingen davon aus, dass ich Makros im Ausgabedateinamen verwenden könnte.
Ryancwarren
Mein Kollege hat dies mit VS 2013 (normal, kein Update 1 oder Update 2) erhalten und verwendet 2.7.x NuGet. Er wird jetzt aktualisieren.
Csaba Toth

Antworten:

153

Ich habe dies behoben, indem ich die Benutzeroptionsdatei der Visual Studio-Lösung (.suo) gelöscht und dann VS neu gestartet habe.

UPDATE: Für VS 2017 müssen Sie einen versteckten Ordner mit dem Namen .vs im Lösungsverzeichnis löschen (Danke @Tien Dinh!)

st78
quelle
Ich hatte zwei Suo-Dateien: <Lösungsname> .suo und <Lösungsname> .v11.suo Ich verwende VS2012 Professional Update 3 und das Löschen beider Dateien hat bei mir funktioniert. Ich habe jetzt nur die Datei <solutionName> .v11.suo vorhanden.
Fellmeister
2
für VS2017 löschen Sie einfach einen versteckten Ordner namens .vs
Tien Dinh
1
Der versteckte .vs- Ordner befindet sich im Lösungsverzeichnis.
JDawg
Arbeitete auch für Visual Studio 2017 Community Edition. Danke (y)
Najeeb
27

Hatte heute das gleiche Problem mit VS2013. Nachdem ein Update für installierte Pakete (Tools -> Erweiterungen und Updates) (einschließlich Nuget) ausgeführt und einige Updates für VS2013 installiert wurden (Windows Update hatte einige), ist es verschwunden.

Suchen Sie also im Grunde nach diesen Updates, Updates, und es könnte das Problem lösen.

Noctis
quelle
15

Ich habe VS 2013. Laut dem Erweiterungsmanager war Nuget auf dem neuesten Stand.

Führen Sie eine manuelle Installation von der vsix-Website aus: http://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

... das Problem behoben.

InquisitorJax
quelle
Dies hat das Problem für mich behoben. Ich bin nur beim Erstellen von Release auf das Problem gestoßen.
Ctorx
Dieses Problem trat aus dem Nichts auf, buchstäblich weil es nicht existierte, um die neuesten Informationen zu Lösung und Boom zu erhalten. Das gleiche Problem hier, dass der Erweiterungsmanager borked ist und sagte, es sei auf dem neuesten Stand, als es nicht war. Ich liebe Microsoft, aber ich verstehe ernsthaft nicht, wie schrecklich sie bei der Installation von Software sind.
Chris Marisic
11

Ein einfacher Neustart von Visual Studio sollte alles klären. Ich hatte das gleiche Problem in VS2013 nach dem Upgrade der Web-API. Es war nicht notwendig, die .suo zu löschen.

Eric
quelle
4

Ich habe dies behoben, indem ich die automatische Wiederherstellung für Nuget-Pakete in der Lösung aktiviert habe

Smitha Poluri
quelle
3

Keine genaue Antwort, aber das Beste, was ich sagen kann, NuGet ver. 2.8 ist noch nicht verfügbar. Ich beschäftige mich seit einiger Zeit (2 Monate) mit demselben Problem. Ich konnte meine Lösung auch mit diesem Fehler erfolgreich erstellen, indem ich den Build für das Hauptprojekt ausführte. Ich hoffe wirklich, dass dieses Problem gelöst wird, da es bei der Arbeit ein ernstes Problem darstellt.

user2476190
quelle
3

Eine Nicht-Release-Version von NuGet 2.8 erhalten Sie hier . Anweisungen finden Sie hier: Installieren eines CI-Builds . Dies behebt das Problem für mich auf VS2010.

Dan Cooper
quelle
2

Ich habe dieses Problem behoben, nachdem ich auf "Alle Nuget-Caches löschen" geklickt habe.

Nuget Tools -> Alle Caches löschen

Glenox Andal
quelle
1

Nur als kurze Notiz. Ich habe diesen Fehler erhalten, indem ich das Projekt auf einem zugeordneten Netzwerklaufwerk ausgeführt habe, d T:\NetworkFolder\Project\Solution.sln. H.

Offensichtlich ist die Lösung einfach - tun Sie dies nicht - kopieren Sie sie auf Ihren Computer. Könnte jemandem irgendwann Schmerzen ersparen.

Krabbenkübel
quelle
1

Keine der obigen Antworten hat mir geholfen, und es wurde ziemlich frustrierend.

Für mich (mit Visual Studio Professional 2017, Version 15.8.5) funktionierten die folgenden Schritte.

1) Extras> Optionen> NuGet Package Manager> Klicken Sie auf "Alle NuGet-Caches löschen".

Hoffe das hilft jemandem!

IfElseTryCatch
quelle
0

Bei mir hat es nicht funktioniert. Ich musste zu Tools, Erweiterungsmanager ... NuGet deinstallieren. Visual Studio 2010 neu starten. NuGet herunterladen. Neu installieren. Starten Sie Visual Studio neu. Alles behoben!

user2343577
quelle
0

Lassen Sie uns den Namen der Pakete in der Datei packages.config überprüfen. Irgendwann ist der Name falsch

Tailmse02457
quelle
0

Ich habe diesen Fehler erhalten, indem ich versehentlich eines der Namespace-ID-Attribute in der Datei packages.config in etwas anderes umbenannt habe. Ich konnte dies feststellen, indem ich die eingecheckte Version von packages.config mit meiner lokalen Version verglich. Nachdem ich das Problem behoben hatte, musste ich nur die Datei packages.config schließen, neu erstellen und das Problem war behoben.

Eternal21
quelle
0

In Visual Studio 2015:

Gehen Sie zu Optionen-> NuGet Package Manager-> Paketquellen und stellen Sie sicher, dass "Microsoft und .Net" in der Liste der maschinenweiten Pakete aktiviert ist.

David J.
quelle
0

Ich habe nUnit 3.7.1 deinstalliert und neu installiert und alles begann wieder zu funktionieren. Ich habe ein paar Nuget-Pakete, aber nunit 3.7.1 ist das einzige, das ich neu installiert habe. Den Rest habe ich in Ruhe gelassen.

BClaydon
quelle