Przywracanie pakietu NuGet nie powiodło się dla projektu Różne pliki: Wartość nie może mieć wartości null ani być pustym ciągiem. Nazwa parametru: root. 0 0

89

Mam taki błąd w vs 2012: Przywracanie pakietu NuGet nie powiodło się dla projektu Różne pliki: Wartość nie może mieć wartości null ani być pustym ciągiem. Nazwa parametru: root. 0 0

Widzę, że jest to błąd https://nuget.codeplex.com/workitem/3780, który został naprawiony w wersji 2.8 Ale nie mogę znaleźć wersji 2.8 na https://nuget.codeplex.com Czy można naprawić błąd bez instalacji wersji 2.8? Albo jak zdobyć 2.8?

Gość o północy
źródło
1
Nie jestem pewien szczegółów, ale może się to również zdarzyć, jeśli spróbujesz użyć nazwy pliku wyjściowego za pomocą makr, takich jak $ (SolutionDir) $ (Configuration) \ MyInstaller.msi Napotkałem ten problem podczas próby zbudowania VS Instalator i ja założyliśmy, że mogę użyć makr w nazwie pliku wyjściowego.
ryancwarren
Mój współpracownik dostał to w VS 2013 (zwykły, bez aktualizacji 1 ani aktualizacji 2) i używa NuGet 2.7.x. Zaktualizuje teraz.
Csaba Toth

Odpowiedzi:

153

Rozwiązałem ten problem, usuwając plik opcji użytkownika rozwiązania Visual Studio (suo), a następnie ponownie uruchamiając VS.

AKTUALIZACJA: W przypadku VS 2017 należy usunąć ukryty folder o nazwie .vs znajdujący się w katalogu rozwiązania (z podziękowaniami @Tien Dinh!)

st78
źródło
Miałem dwa pliki suo: <solutionName> .suo i <solutionName> .v11.suo Używam VS2012 Professional Update 3 i usunięcie obu zadziałało. Mam teraz tylko plik <solutionName> .v11.suo.
Fellmeister,
2
w przypadku VS2017 wystarczy usunąć ukryty folder o nazwie .vs
Tien Dinh
1
Ukryty folder .vs znajduje się w katalogu rozwiązania.
JDawg
Pracował również dla Visual Studio 2017 Community Edition. Dzięki (y)
Najeeb
27

Miałem dziś ten sam problem z VS2013. Po uruchomieniu aktualizacji zainstalowanych pakietów (narzędzia -> rozszerzenia i aktualizacje) (które zawierały nuget) i zainstalowaniu niektórych aktualizacji dla VS2013 (aktualizacja systemu Windows miała kilka), zniknął.

Zasadniczo sprawdź, czy nie ma tych aktualizacji, zaktualizuj i może rozwiązać problem.

Noctis
źródło
15

Mam VS 2013. Według menedżera rozszerzeń, nuget był na bieżąco.

Uruchomiono ręczną instalację z witryny vsix: http://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

... rozwiązaliśmy problem.

InquisitorJax
źródło
To rozwiązało problem. Napotkałem problem tylko podczas budowania w wersji Release.
ctorx
Ten problem pojawił się znikąd, dosłownie z nieistniejącego, aby uzyskać najnowsze rozwiązania i boom. Ten sam problem, że menedżer rozszerzeń jest zepsuty i powiedział, że był aktualny, kiedy nie był. Uwielbiam Microsoft, ale naprawdę nie rozumiem, jak straszni są w instalowaniu oprogramowania.
Chris Marisic
11

Proste ponowne uruchomienie programu Visual Studio powinno wszystko wyjaśnić. Miałem ten sam problem w VS2013 po uaktualnieniu interfejsu API sieci Web. Nie było potrzeby usuwania pliku .suo.

Eric
źródło
4

Naprawiłem to, włączając w rozwiązaniu automatyczne przywracanie pakietów NuGet

Smitha Poluri
źródło
3

Nie jest to dokładna odpowiedź, ale najlepiej powiedzieć, NuGet ver. 2.8 nie jest jeszcze dostępny. Od jakiegoś czasu (2 miesiące) mam do czynienia z tym samym problemem. Nadal mogłem pomyślnie zbudować moje rozwiązanie nawet z tym błędem, wykonując kompilację w głównym projekcie. Naprawdę mam nadzieję, że uda mi się rozwiązać ten problem, ponieważ podczas pracy jest to poważny problem.

user2476190
źródło
3

Możesz pobrać nieopublikowaną wersję pakietu NuGet 2.8 tutaj . Instrukcje są tutaj: Instalowanie kompilacji CI . To rozwiązuje problem w VS2010.

Dan Cooper
źródło
2

Naprawiłem ten problem po kliknięciu przycisku „Wyczyść wszystkie pamięci podręczne Nuget”

Narzędzia Nuget -> Wyczyść całą pamięć podręczną

Glenox Andal
źródło
1

Tak jak krótka notatka. Otrzymałem ten błąd, uruchamiając projekt na zmapowanym dysku sieciowym, tj T:\NetworkFolder\Project\Solution.sln.

Oczywiście rozwiązanie jest proste - nie rób tego - skopiuj je na swój komputer. Może w pewnym momencie zaoszczędzić komuś trochę bólu.

Wiadro kraba
źródło
1

Żadna z powyższych odpowiedzi nie pomogła mi i było to dość frustrujące.

To, co zadziałało dla mnie (z programem Visual Studio Professional 2017, wersja 15.8.5), polegało na wykonaniu następujących kroków;

1) Narzędzia> Opcje> Menedżer pakietów NuGet> Kliknij „Wyczyść wszystkie pamięci podręczne NuGet”

Mam nadzieję, że to komuś pomoże!

IfElseTryCatch
źródło
0

Na mnie to nie wyszło. Musiałem przejść do narzędzi, menedżera rozszerzeń ... Odinstaluj NuGet Uruchom ponownie Visual Studio 2010 Pobierz NuGet Zainstaluj ponownie. Uruchom ponownie program Visual Studio. Naprawiłem to wszystko!

user2343577
źródło
0

Sprawdźmy nazwy pakietów w pliku packages.config. Czasami nazwa jest nieprawidłowa

Tailmse02457
źródło
0

Otrzymałem ten błąd przez przypadkową zmianę nazwy jednego z atrybutów identyfikatora przestrzeni nazw w pliku packages.config na coś innego. Udało mi się to wyśledzić, porównując sprawdzoną wersję pliku packages.config z moją lokalną. Po rozwiązaniu problemu wszystko, co musiałem zrobić, to zamknąć plik packages.config, odbudować i problem zniknął.

Eternal21
źródło
0

W programie Visual Studio 2015:

Przejdź do Opcje-> Menedżer pakietów NuGet-> Źródła pakietów, upewnij się, że na liście pakietów dla całego komputera jest zaznaczona pozycja „Microsoft i .Net”.

David J.
źródło
0

Odinstalowałem i ponownie zainstalowałem nUnit 3.7.1 i wszystko zaczęło znowu działać. Mam kilka pakietów nuget, ale tylko nunit 3.7.1 jest jedynym, który ponownie zainstalowałem, resztę zostawiłem w spokoju.

BClaydon
źródło