Jak pobrać pakiet NuGet bez nuget.exe lub rozszerzenia programu Visual Studio?

141

Jak mogę pobrać pakiet NuGet? Nie mam rozszerzenia NuGet programu Visual Studio ani programu wiersza polecenia nuget.exe. Jak mogę pobrać plik .nupack z sieci? Jak rozumiem, będę mógł wyodrębnić z niego .dllpliki (za pomocą 7-zip), aby używać ich normalnie.

Pakiet, który mnie interesuje, to http://nuget.org/packages/Microsoft.Bcl.Async , ale ogólnie chciałbym wiedzieć, jak to zrobić .

W świecie Rubiego byłoby to łatwe - każda strona pakietu na stronie RubyGems ma link do pobrania pliku .gem, np .: https://rubygems.org/gems/pony


Argument dotyczący oczywistego przeznaczenia NuGet należy do innego miejsca. W przypadku tego pytania nie ma znaczenia, dlaczego go unikam. Jednak nie jestem jedyny .

Colonel Panic
źródło
8
@JonSkeet: Mój system deweloperski nie jest połączony z Internetem (ze względów bezpieczeństwa), chyba że używam sesji Windows Terminal Server. Ten WTS zezwala na pobieranie, ale nie mogę uruchomić plików wykonywalnych, więc nie ma (wygodnego) sposobu na uzyskanie rzeczy, które są dostępne tylko za pośrednictwem nuget (przynajmniej podczas pracy).
Gorgsenegger

Odpowiedzi:

80

Chociaż zbudowanie adresu URL lub użycie narzędzi jest nadal możliwe, nie jest już potrzebne.

Witryna https://www.nuget.org/ zawiera obecnie łącze pobierania o nazwie „Pobierz pakiet” , które jest dostępne nawet wtedy, gdy nie masz konta w witrynie.

(na dole prawej kolumny).


Przykład strony szczegółów EntityFramework: https://www.nuget.org/packages/EntityFramework/ : ( Aktualizacja po komentarzu kwitee. )

Przykład strony szczegółów EntityFramework

quasoft
źródło
1
Myślę, że teraz powinna to być akceptowana odpowiedź, ponieważ jest bardziej aktualna.
Alexey
2
Właśnie to wypróbowałem i wygląda na to, że łącze jest teraz po prawej stronie i nazywa się „Pobieranie ręczne”.
RenniePet
2
FYI, zdecydowanie możesz użyć 7-zip do wyodrębnienia i obsłuży on typ pliku .nupkg, ale ponieważ są to tylko pliki .zip pod maską, możesz także po prostu zmienić rozszerzenie na .zip i przeglądać / rozpakowywać w razie potrzeby.
benmccallum
1
Pamiętaj tylko, że jeśli wybierzesz tę trasę, będziesz musiał ręcznie pobrać wszystkie pakiety zależne.
Adam
1
Łącze nazywa się teraz Pobierz pakiet .
kwitee
214

Utwórz konto w witrynie Nuget.org, a następnie zaloguj się, przejdź do żądanego pakietu i kliknij łącze Pobierz w menu po lewej stronie.


Lub zgadnij adres URL. Mają następujący format:

https://www.nuget.org/api/v2/package/{packageID}/{packageVersion}

Następnie po prostu rozpakuj plik .nupkg i wyodrębnij potrzebną zawartość.

Xavier Decoster
źródło
2
Dzięki Xavier, to zadziałało. W przypadku biblioteki, którą chciałem, była to nuget.org/api/v2/package/Microsoft.Bcl.Async/1.0.14-rc
Colonel Panic
12
Jeśli chcesz tylko najnowszy pakiet, po prostu zostaw tę /{packageVersion}część.
dirkjot
@Muds Będziesz musiał przeanalizować nuspec i samodzielnie pobrać wymienione zależności.
Andy
2
Ta odpowiedź nadal działa, ale jest nieaktualna. Zobacz poniżej: stackoverflow.com/a/32681762/2642204
BartoszKP
Jak pobrać zależności pakietów?
Mehdi Dehghani
12

Aby uzyskać aktualną stabilną wersję pakietu NuGet, użyj:

https://www.nuget.org/api/v2/package/{packageID}
WorkSmarter
źródło
7

Jeszcze tego nie próbowałem, ale wygląda na to, że Eksplorator pakietów NuGet powinien być w stanie to zrobić:

https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

Eksplorator pakietów NuGet

(lub jak mówi Colonel Panic, 7-zip prawdopodobnie powinien to zrobić)

Alex KeySmith
źródło
Tak, działa dobrze. Po prostu skorzystaj z "Open from Feed..."opcji.
Gone Coding
6
  1. Przejdź do http://www.nuget.org
  2. Wyszukaj żądany pakiet. Na przykład: Microsoft.Owin.Host.SystemWeb
  3. Pobierz pakiet, klikając łącze Pobierz po lewej stronie.
  4. Wykonaj krok 3 dla zależności, które nie są jeszcze zainstalowane. Strona pobierania Nuget
  5. Przechowuj wszystkie pobrane pakiety w folderze niestandardowym. Wartość domyślna to c: \ Źródło pakietu.
  6. Otwórz Menedżera pakietów Nuget w programie Visual Studio i upewnij się, że masz „Dostępne źródło pakietu”, które wskazuje na określony adres w kroku 5; Jeśli nie, po prostu dodaj je, podając niestandardową nazwę i adres. Kliknij OK. Narzędzia -> Zarządzaj pakietami NuGet -> Ustawienia Menedżera pakietów Okno opcji Menedżera pakietów NuGet
  7. W tym momencie powinieneś być w stanie zainstalować pakiet dokładnie w ten sam sposób, w jaki instalowałbyś pakiet online za pośrednictwem interfejsu . Prawdopodobnie nie będzie można zainstalować pakietu przy użyciu konsoli NuGet.
Mehdi Kashefikia
źródło