Nie można zainstalować żadnego pakietu w Visual Studio 2015

183

Wypróbowałem każdy pakiet, jaki mogłem znaleźć i żaden z nich nie zainstaluje się w moim projekcie. Zainstalowałem każdą aktualizację wymienioną na liście Rozszerzeń i aktualizacji, które były dostępne. Kiedy próbuję na przykład zainstalować SendGrid, jest to wynik (podobnie jak w przypadku wszystkich innych pakietów):

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UI\MyApplication.MVC', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for package 'Sendgrid.6.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Sendgrid.6.1.0'
Resolved actions to install package 'Sendgrid.6.1.0'
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
Adding package 'SendGrid.SmtpApi.1.3.1' to folder 'C:\Users\Keith\Source\Workspaces\MyApplication\MyApplication.MVC\packages'
Install failed. Rolling back...

Nie mogę być jedynym na świecie, który ma problem z Visual Studio 2015 i nowym „ulepszonym” Menedżerem pakietów NuGet.

AKTUALIZACJA:
Cóż, musi być coś dziwnego w moim rozwiązaniu, ponieważ stworzyłem nowy projekt z szablonu VS2015 (www) i pakiety instalują się dobrze. Kiedy znajdę problem, opublikuję rozwiązanie na wypadek, gdyby inni napotkali ten sam problem.

AKTUALIZACJA 2:
Ok, to nie jest nasze rozwiązanie. Ponownie stworzyliśmy nowe rozwiązanie od zera (może to zmarnować dużo czasu na programowanie, mogę dodać), dodaliśmy kilka pakietów (Identity, EF, SendGrid) i po sprawdzeniu rozwiązania w VSO inny programista wykonuje nowe stworzenie występują błędy gałęzi i kompilacji. Kiedy przechodzę do pakietów NuGet dla pojedynczego projektu, działa to tak, jakby żaden dodany pakiet nie był dostępny. Czy ktoś jeszcze tego doświadcza?

zgodnie z ruchem wskazówek zegara
źródło
1
Użyj VS2013, aby dodać pakiety VS2015 jest bardzo problematyczne, a następnie po prostu otwórz w VS2015 i kontynuuj używanie
Rob Sedgwick

Odpowiedzi:

124

tl; dr - Usuń to:

%AppData%/Nuget/Nuget.config

Ostrzeżenie: jeśli masz niestandardowe źródła NuGet, spowoduje to ich usunięcie i konieczne będzie ich ponowne dodanie.


Dłuższa wersja:

Możliwe, że uszkodziłeś konfigurację NuGet. O nie :(

Nuget.config to plik służący do śledzenia wszystkich miejsc, z których pobiera NuGet, a także do konfigurowania innych rzeczy. Bardziej prawdopodobne niż to, że ten plik XML jakoś się zepsuł.

  • Idź do tej ścieżki: C:\Users\{{username}}\AppData\Roaming\
  • Usunąć Nuget.config
  • Dla pewności ponownie uruchom VS

Dla porównania: w dobrych dniach 2017 roku plik powinien wyglądać mniej więcej tak

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <activePackageSource>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <!-- Others -->
  </packageSources>
  <packageSourceCredentials>
    <!-- secret stuff -->
  </packageSourceCredentials>
</configuration>
Stachu
źródło
Dzięki, to było fajne rozwiązanie
Nic
To też działa dla mnie, dzięki Statuo, że oszczędziłeś mi czas.
Rameshwar Vyevhare
1
Niesamowity zbieg okoliczności. Ten post sprzed roku jest edytowany tuż przed moimi oczami, gdy potrzebuję odpowiedzi. Dzięki!
Jason Spake
1
Przepraszam, że wpadłem na to, ale mój musiał być wyjątkowy i był tak zwany „NuGet.Config”, co było dla mnie bardzo specyficzne dla NTFS!
TGP1994
2
(Właściwie okazało się, że wcale nie musiałem nawet usuwać konfiguracji. Wymagane było ponowne uruchomienie Visual Studio.)
TGP1994,
415

Zamknięcie i ponowne otwarcie VS2015 rozwiązuje problem.

Wydaje się, że w niektórych przypadkach po prostu przeładowanie dotkniętego projektu będzie działać.

Lars
źródło
3
To zadziałało również dla mnie, po tym jak zamknąłem VS, otworzyłem folder „pakietów” dla rozwiązania i uruchomiłem ponownie.
wislon
6
To działało dla mnie, chociaż musiałem zamknąć wszystkie wystąpienia VS - zamknięcie tylko dotkniętego nie wystarczyło.
Rory McCrossan
4
Wydaje się to takie proste ... a jednak +111 głosów! Pracowałem też dla mnie!
Anthony Nichols,
22
Dlaczego Microsoft?!?! Dlaczego to musi być najlepsza odpowiedź (i ta, która działała dla mnie)?
Matt Ruwe,
2
Nie czuję się dobrze z odpowiedzią, ale to działa, potrzebujemy „dlaczego”
Zinov,
32

Znalazłem rozwiązanie tego problemu w moim przypadku, spróbuj zaktualizować Menedżera pakietów NuGet.

Aby to zrobić:

  1. W VS przejdź do Narzędzia -> Rozszerzenia i aktualizacje
  2. Otwórz opcję menu Aktualizacje po lewej stronie, a następnie wybierz Visual Studio Gallery .
  3. Jeśli istnieje aktualizacja dla Instalatora pakietów Nuget, powinna pojawić się na liście po prawej stronie. Kliknij Aktualizuj
  4. Uruchom ponownie Visual Studio

To pozwoliło mi ponownie zainstalować pakiety bez problemu.

Mam nadzieję że to pomoże!

Alejo03
źródło
1
Śledziłem to, jednak nie było żadnych oczekujących aktualizacji dla Nuget. Był jeden dla „Narzędzi internetowych” i to rozwiązało dla mnie błąd „Konfiguracja nugetu jest nieprawidłowa”.
RyanJMcGowan
1
Prawdopodobnie nie był to fakt, że zaktualizowałeś „Narzędzia sieciowe”, ale fakt, że instalowanie aktualizacji rozszerzeń wymaga ponownego uruchomienia programu Visual Studio. Ponowne uruchomienie działało dla mnie.
Joe the Coder
Pracowałem także dla mnie
Aaron
W moim przypadku aktualizacja nie była dostępna, ale pobrałem najnowszą wersję z dotnet.myget.org/F/nuget-vsix/vsix i zadziałało.
DavidC
20

W moim przypadku aktualizowania Microsoft.CodeDom.Providers.DotNetCompilerPlatformi Microsoft.Net.Compilers spowodował problem.

Usuwanie bin, obji packagesfoldery i ponownym uruchomieniu Visual Studio 2015 rozwiązano ten problem dla mnie.

Nikołaj Kostow
źródło
1
Inne rozwiązania nie działały, ale to działało. Kluczem było dla mnie usunięcie „paczek”
Gordon Slysz,
1
Nie wiem, dlaczego usunięcie pakietów może działać, ale tak jest! Jednak niczego nie zaktualizowałem, właśnie migrowałem z Visual Studio 2010 do 2015, a .NET 4.0 do 4.5.
Protektor jeden
Gdzie mogę znaleźć folder „paczek”? Mam tylko bin i obj.
Denny,
8

Musisz wyczyścić wszystkie pamięci podręczne NuGet; w tym celu musisz przejść do Opcje i kliknąć w ten sposób:

wprowadź opis zdjęcia tutaj

Shahrooz Ansari
źródło
Jezu, oh, uratowałeś mi życie, zwariowałem ... Zawsze pojawiał się błąd „Instalacja nie powiodła się. Cofanie ...”. Próbowałem usunąć plik konfiguracyjny NuGet, powiedział zaakceptowaną odpowiedź, a także spróbowałem zrestartować VS i komputer ... wyczyściłem moje kanały nuget, skonfigurowałem ponownie .. nic, ale to naprawiło to! Dziękuję bardzo człowieku!
TiagoM,
7

Ogólnie rzecz biorąc, zamknięcie i ponowne otwarcie VS 2015 naprawiło większość problemów, z którymi się spotkałem . Kiedyś musiałem przeprowadzić naprawę na jednym z moich komputerów.

Jednak miałem zamiar zrobić to Closing and re-opening VS2015 resolved the issue for me pomyślałem, że ja zamiast prawym przyciskiem myszy na projekcie i Unload projektu kliknij prawym przyciskiem myszy i Odśwież projekt WTEDY Zarządzaj Nuget pracował!

Tom Stickel
źródło
4

Aby pomóc każdemu, kto wylądował na tej stronie po aktualizacji VS2015 do aktualizacji 2 i próbie zarządzania pakietami na stronie internetowej, otrzymując błąd „Niepoprawny plik konfiguracyjny NuGet”, jest to znany i potwierdzony problem:

https://connect.microsoft.com/VisualStudio/feedback/details/2698136/nuget-configuration-is-invalid-manage-nuget-packages-for-solution-disabled

Ponownie uruchomiłem mój, instalując menedżera pakietów 3.4.4 (beta) ze strony http://dist.nuget.org/index.html

Podają również, że aktualizacja 3 dla Visual Studio będzie również zawierać poprawkę

MarkMiddlemist
źródło
Wielkie dzięki za to! :)
Ramanpreet Singh
3

Podejrzewam, że Nuget Package Manager ma problemy z VSO. Tworzę nowy projekt, w porządku dodaję do niego pakiety, sprawdzam w TFS. Potem wracam do domu, „Pobierz najnowszą wersję”, uruchamiam się i kończy się niepowodzeniem, ponieważ Menedżer pakietów Nuget nie przywraca moich pakietów. Rozwiązanie: na mojej domowej maszynie

  1. otwórz Nuget Package Manger, odinstaluj każdy zainstalowany pakiet
  2. Otwórz folder Referencje, kliknij prawym przyciskiem myszy> Usuń dla wszystkich zainstalowanych pakietów
  3. Ponownie zainstaluj je za pomocą Menedżera pakietów Nuget
  4. Zameldować się
Tuan Tran
źródło
Próbowałem dodać / zaktualizować pakiety ze świeżego projektu i napotkałem ten sam nieudany wynik. Uaktualniłem do wersji VS2013, dopóki menedżer pakietów nie zostanie zaktualizowany w wersji VS2015
zgodnie z ruchem wskazówek zegara
3

Udało mi się rozwiązać ten problem, ponownie instalując Nuget Package Manager za pomocą Narzędzia -> Rozszerzenia i aktualizacje

mike.bukosky
źródło
3

Miałem ten problem z Visual Studio 2017: Okazuje się, że istnieją dwa projekty bibliotek klas - jeden dla .Net, a drugi dla C #. Stworzyłem ten dla .Net i kiedy próbowałem zainstalować konkretny pakiet (w moim przypadku Nunit) dostałem komunikat o błędzie.

Ponowne odtworzenie projektu jako biblioteki klasy C # rozwiązało problem

Belgi
źródło
1

W moim przypadku ten problem był spowodowany niedopasowaniem w mojej strukturze docelowej każdego projektu. Kiedy utworzyłem nowy projekt, VS 2015 domyślnie wyniósł 4.5.2, jednak wszystkie moje pakiety nuget zostały zbudowane dla wersji 4.6.

Z jakiegoś powodu VS 2015 nie pokazywał mi tych błędów. Nie widziałem ich, dopóki nie utworzyłem nowego pustego projektu i nie próbowałem tam dodać mojego projektu nuget. To zachowanie mogło ulec pogorszeniu, ponieważ kilkakrotnie zmieniłem nazwę projektu podczas początkowej konfiguracji.

I rozwiązać ten problem

  • zmiana struktury docelowej w moich projektach na 4.6
  • zamknięte VS 2015
  • usunięte foldery „pakiety”, „obj” i „bin”
  • ponownie otwórz rozwiązanie i spróbuj ponownie dodać pakiet nuget.
raterus
źródło
1

Korzystam z programu Visual Studio 2015 Update 3 i udało mi się odtworzyć ten błąd (pomimo aktualizacji 3 rzekomo zawierającej poprawkę).

Jak sugerowano powyżej, niezawodną poprawką jest wykonanie następujących czynności ... 1) Wyjdź z Visual Studio, 2) Usuń folder paczek , 3) Uruchom ponownie VS.

Ale ... jeśli z jakiegoś powodu nie chcesz natychmiast wyjść z VS, nadal mogłem dodawać / usuwać pakiety ze wszystkich projektów, wybierając opcję „ Zarządzaj pakietami NuGet dla rozwiązania ”, a nie z indywidualnym projektem z problemem .

skrzynka kontrolna
źródło
Gdzie jest folder pakietów, o którym wszyscy mówią?
ShrimpCrackers
@ShrimpCrackers - w tej samej lokalizacji co plik rozwiązania (.sln)
skrzynka kontrolna
1

Naprawdę wydaje mi się, że naprawa programu Visual Studio 2015 rozwiązała ten problem. Zobacz ten problem dla NuGet w GitHub.

Hans Vonn
źródło
1

Ponowne uruchomienie Visual Studio działa dla mnie. Spróbuj ponownie uruchomić Visual Studio.

Chidi-Nwaneto
źródło
0

Miałem ten problem, który wydawał się być spowodowany przez coś uszkodzonego w packagesfolderze poziomu rozwiązania . Usunąłem zawartość folderu i pozwoliłemnuget zainstalować wszystkie pakiety.

Mógłbym wtedy ponownie zainstalować nowe pakiety.

andynormancx
źródło
0

Otwórz folder paczek. Sprawdź, czy istnieją pliki z rozszerzeniem .deleteme, na przykład Newtonsoft.Json.9.0.1.deleteme. Ręcznie usuń wszystkie pakiety, które mają plik .deleteme. Usuń pliki .deleteme. Zamknij i otwórz Eksploratora Nuget.

Orhan
źródło
0

Zmień „źródło pakietu” w nugecie na All

Szczegóły: Żadne z powyższych nie pomogło w moim przypadku. Mój problem polegał na tym, że ograniczyłem się tylko do jednego prywatnego kanału. Kiedyś zmieniłem „źródło pakietu” naAll mój problem został rozwiązany. Myślę, że sedno sprawy polega na tym, że mój prywatny pkg jest zależny od innych pkgs z nuget.org.

Mam nadzieję, że to może komuś pomóc

Rotem Varon
źródło
0

W moim przypadku nic z powyższych nie pomogło. Główną przyczyną problemu w moim przypadku było to, że wcześniej odinstalowałem pakiet i nie sprawdziłem zmiany w kontroli źródła (w moim przypadku TFS). Po sprawdzeniu zmiany (= usunięcie pliku w folderze pakietów) mogłem ponownie zainstalować pakiet.

Heinz Kessler
źródło
0

W moim przypadku w katalogu soultion był pusty plik packages.config, po usunięciu aktualizacji aktualizacja się powiodła

Timm
źródło