Źródło niedostępne podczas korzystania z konsoli Menedżera pakietów NuGet


153

Przenosimy nasze zarządzanie pakietami z ręcznego aktualizowania plików do NuGet. Próbuję zainstalować starsze wersje pakietów, aby pasowały do ​​tej, którą już mamy w kontroli źródła. Nie ma sposobu, aby to zrobić z interfejsu użytkownika, więc używam wiersza poleceń, aby uzyskać odpowiednią wersję.

Z jakiegoś powodu Install-Packagepowtarza mi, że galeria nuget jest nieosiągalna.

Źródło pod adresem nuget.org [ https://www.nuget.org/api/v2/] jest nieosiągalne. Powrót do lokalnej pamięci podręcznej NuGet

Dzieje się tak tylko w jednym z naszych rozwiązań. Jeśli utworzę nowe rozwiązanie lub użyję innego w tym samym repozytorium, pakiety zostaną zainstalowane zgodnie z oczekiwaniami. Mogę nawet zainstalować pakiety w fałszywym rozwiązaniu, aby wypełnić lokalną pamięć podręczną, a następnie pomyślnie zainstalować je w wadliwym rozwiązaniu. Próbowałem Invoke-WebRequestużyć adresu URL z konsoli NuGet i otrzymuję HTTP 200.

Co może to spowodować? Czy istnieje sposób na zastąpienie źródeł pakietów na podstawie rozwiązania / projektu?


3
Mam ten sam problem. Zainstalowałem wczoraj VS 2013 Update 2, może to jest nowy błąd ...? Przy okazji, mogę bez problemu zainstalować dowolny pakiet za pomocą okna dialogowego „Zarządzaj pakietami NuGet”, ten problem występuje tylko w konsoli Menedżera pakietów.
rsenna

2
Mam ten sam problem. Zawsze działa w oknie dialogowym Zarządzaj pakietami - nigdy nie działa w konsoli Menedżera pakietów.
David Tansey

10
Ponowne uruchomienie programu Visual Studio rozwiązało ten problem ಠ_ಠ
Chris

Odpowiedzi:


338

Mimo że moje źródło pakietu zostało ustawione na nuget.org w konsoli Menedżera pakietów, jawne dodanie -Source nuget.orgargumentu rozwiązało ten problem.

Tak więc przykładem użycia byłoby:

Install-Package Akka.net -Source nuget.org

Akka.net to twój pakiet, który chcesz zainstalować, to tylko przykład tutaj.


1
Zrestartowałem komputer i program Visual Studio. ale .. dodając -source nuget.org rzeczywiście wystarczyły do mojej nowej instancji .vbproj wewnątrz mojego istniejącego .sln wieloma projektami
bkwdesign

Gdzie dodać ten argument i jak? Czy możesz podać więcej informacji.
Radenko Zec

U mnie też zadziałało (właściwie teraz!). Próbowałem zainstalować starszą wersję jQuery, ale ciągle zgłaszał błąd: „Źródło na nuget.org [ nuget.org/api/v2/] ”. Nie wiem jednak, jak to naprawić.
Loudenvier

dziękuję, zrobiłem to w ten sposób:Install-Package jQuery.UI.Combined -Source nuget.org
shaijut

7
Czy masz pojęcie, jak to działa? Jestem po prostu ciekawy, ponieważ nie ma to dla mnie żadnego sensu, nawet jeśli działa. Tak więc błąd mówi, że źródło na nuget.org [ nuget.org/api/v2/] jest nieosiągalne, a następnie określam to samo źródło -Source nuget.orgi działa?
Vladimirs


6

Nie jestem pewien, co może spowodować problem, ale rzeczywiście istnieje sposób na zastąpienie źródeł pakietów na podstawie rozwiązania, ale tylko wtedy, gdy włączono przywracanie pakietu NuGet w danym rozwiązaniu.

Gdy rozwiązanie włączy pakiet NuGet Przywróć folder o nazwie „.nuget” zostanie dodany do rozwiązania. Pod tym będzie plik o nazwie „NuGet.targets”, który ma ItemGroup, którego stan to „'$ (PackageSources)' == ''”, taki jak ten, który zobaczysz na załączonym obrazie.

Jeśli ItemGroup jest pusta (lub całkowicie zakomentowana, jak na ilustracji), rozwiązanie użyje określonego pliku, który powinien być taki sam, jak źródła wymienione w NARZĘDZIA >> OPCJE. Ale jeśli odkomentujesz lub dodasz elementy PackageSource do tej ItemGroup, rozwiązanie przeszuka wymienione źródła pakietów i TYLKO te wymienione.

Zawartość pliku Nuget.targets


2
Źródła pakietów zdefiniowane w pliku NuGet.targets mają wpływ tylko na te używane podczas kompilacji, gdy pakiet jest przywracany. Źródła pakietów w pliku NuGet.config w katalogu .nuget będą miały wpływ na źródła pakietów dostępne dla projektu w programie Visual Studio.
Matt Ward

Mam włączone przywracanie pakietów dla tego rozwiązania. ItemGroup jest skonfigurowany tak, jak na zrzucie ekranu, który, jak zakładam, jest ustawieniem domyślnym, więc nie sądzę, że to jest problem. Jednak przywracanie pakietów zostało włączone znacznie dawno temu i od tego czasu plik docelowy został zmieniony. Próbowałem zaktualizować te pliki do najnowszej wersji, usuwając je i ponownie włączając przywracanie pakietów i wygląda na to, że rozwiązało problem.
Etienne Maheu

Albo nie. Początkowo działało, ale po przywróceniu pakietów rozwiązania i ponownym uruchomieniu Visual Studio problem powrócił.
Etienne Maheu

Kilka pytań wyjaśniających: 1) Czy masz odniesienia do odpowiednich wersji w packages.config? 2) Czy potwierdziłeś, że wersja, której szukasz, nadal istnieje na serwerze NuGet ? 3) Czy wyczyściłeś roztwór, a następnie odbudowałeś go po wykonaniu 1) i 2)?
Omnidisciplinarianist

1
Jeśli to jakieś pocieszenie - dostaję ten problem, ale tylko na moim komputerze roboczym i dzieje się to z większością projektów. Dziwne jest to, że jest przerywany, co doprowadza mnie do szaleństwa!
Matt

6

Możesz również zmienić źródło NuGet z poziomu interfejsu użytkownika. Po prostu zmień źródło NuGet na starszą wersję i powinno działać dobrze.

wprowadź opis obrazu tutaj

Wydaje się, że nadal jest kilka błędów w VS 2015 związanych z api.nuget.org (v3).


2

W mojej konsoli Menedżera pakietów nie widziałem żadnych źródeł

Przechodząc do: Narzędzia -> Opcje -> Menedżer pakietów Nuget -> Źródła pakietów

Znalazłem źródła. Usunięcie ich zaznaczenia i ponowne ich sprawdzenie sprawiło, że pojawiły się ponownie w mojej konsoli Menedżera pakietów


2

Musiałem podać Comman wraz z pełnym adresem URL jako Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2


1

W moim przypadku przyczyną było to, że pakiet był zgodny. Za pomocą interfejsu użytkownika - okno dialogowe „Zarządzaj pakietami NuGet” można zaakceptować i kontynuować.

Wydaje się, że konsola menedżera pakietów w VS 2013 ma z tym problem. Jak powiedzieli inni, ponowne uruchomienie VS 2013 może rozwiązać problem dla konsoli.


1

To działa dla mnie w VS 2015 prof: Narzędzia -> Opcje -> Menedżer pakietów Nuget -> Źródła pakietów

  1. Naciśnij przycisk Dodaj
  2. Edytuj w etykiecie nazwy: nuget.org
  3. Edytuj w etykiecie źródłowej: https://www.nuget.org/api/v2/
  4. wciśnij OK

Mam nadzieję, że to pomoże ;)


W VS 2015 powinieneś używać wersji 3 z ich listy ... nie wersji 2! Zrobione z ich strony głównej NuGet feed v3 (VS 2015 / NuGet v3.x): api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 i starsze / NuGet 2.x): nuget.org/api/v2
Paul Zahra,

0

Miałem ten sam problem z tą samą wiadomością. Ale przyczyną mojego problemu była utrata połączenia z TFS. Mój serwer TFS był hostowany w innej sieci i korzystałem z VPN, aby uzyskać do niego dostęp. Kiedy próbowałem zainstalować pakiet bez nawiązanego połączenia z TFS (VPN był wyłączony), miałem ten sam problem.

Należy pamiętać o tym zachowaniu TFS.


0

Dzieje się tak, ponieważ pracujesz w trybie offline, po ponownym połączeniu z siecią konieczne będzie wylogowanie się i ponowne zalogowanie. Menedżer pakietów płynnie uruchomi się ponownie.


0

Zmierzyłem się z tym problemem VS2013 i zmarnowałem 3 godziny.

Nie wiem, co było przyczyną problemu. Ale żadne z powyższych rozwiązań nie zadziałało.

Ponowna instalacja konsoli Nuget Package Manager zadziałała dla mnie.

Narzędzia -> Rozszerzenia i aktualizacje -> W obszarze Wszystko Poszukaj Menedżera pakietów Nuget dla programu Visual Studio i naciśnij przycisk Odinstaluj.

Przejdź do https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 i pobierz rozszerzenie.


0

wprowadź opis obrazu tutaj Może to być Twoje biuro / domowa zapora blokująca nuget.org, więc spróbuj połączyć się z inną siecią internetową, na przykład z telefonu komórkowego lub Wi-Fi. Udało mi się rozwiązać tę metodę.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.