Mam kilka plików .nupkg z książki w języku C #. Jak mogę je zainstalować?
visual-studio
nuget
Tomek
źródło
źródło
Możesz także użyć konsoli Menedżera pakietów i wywołać polecenie
Install-Package
cmdlet, określając ścieżkę do katalogu zawierającego plik pakietu w-Source
parametrze:źródło
-Source
Opcja jest dostępna w nuget.exe również. Na przykład:nuget install SomePackage -Source C:\PathToThePackageDir
Do plików .nupkg lubię używać:
źródło
.nupkg
w tym samym katalogu co wszystkie inne pakiety były przechowywane)Dla programu Visual Studio 2017 i jego nowego formatu .csproj
Nie można już używać pakietu instalacyjnego do wskazywania pliku lokalnego. (Jest to prawdopodobne, ponieważ
PackageReference
element nie obsługuje ścieżek plików; pozwala jedynie określić identyfikator pakietu.)Najpierw musisz powiedzieć programowi Visual Studio o lokalizacji pakietu, a następnie możesz dodać go do projektu. Większość ludzi korzysta z Menedżera pakietów NuGet i dodaje folder lokalny jako źródło (menu Narzędzia → Opcje → Menedżer pakietów NuGet → Źródła pakietów ). Ale to oznacza, że lokalizacja twojej zależności nie jest zobowiązana (do kontroli wersji) do reszty bazy kodu.
Lokalne pakiety NuGet przy użyciu ścieżki względnej
Spowoduje to dodanie źródła pakietu, które dotyczy tylko określonego rozwiązania, i można używać ścieżek względnych.
Musisz utworzyć
nuget.config
plik w tym samym katalogu, co.sln
plik. Skonfiguruj plik z żądanymi źródłami pakietów. Po następnym otwarciu rozwiązania w programie Visual Studio 2017 wszystkie pliki .nupkg z tych folderów źródłowych będą dostępne. (Zobaczysz źródła (źródła) wymienione w Menedżerze pakietów, a pakiety znajdziesz na karcie „Przeglądaj” podczas zarządzania pakietami dla projektu.)Oto przykład
nuget.config
na początek:Historia
Moim przypadkiem użycia tej funkcji jest to, że mam wiele wystąpień jednego repozytorium kodu na moim komputerze. W bazie kodu znajduje się biblioteka współdzielona, która jest publikowana / wdrażana jako plik .nupkg. Takie podejście umożliwia różnym rozwiązaniom zależnym w całej naszej bazie kodów korzystanie z pakietu w tej samej instancji repozytorium. Ponadto osoba ze świeżą instalacją programu Visual Studio 2017 może po prostu pobrać kod w dowolnym miejscu, a zależne rozwiązania zostaną pomyślnie przywrócone i zbudowane.
źródło
-Source
argumentUpdate-Package
i działało dobrze. Może ma to coś wspólnego zInstall-Package
poleceniem?Utwórz plik o nazwie NuGet.config obok pliku rozwiązania z następującą zawartością
Jeśli rozwiązanie jest otwarte w Visual Studio, zamknij je, a następnie otwórz ponownie.
Teraz twoje pakiety powinny pojawić się w przeglądarce lub być instalowalne za pomocą Install-Package
źródło
Jeśli masz plik .nupkg i potrzebujesz tylko pliku .dll, wystarczy zmienić rozszerzenie na .zip i znaleźć katalog lib.
źródło
Aby dać aktualizację, dla użytkowników programu Visual Studio 2015 wprowadzono niewielkie zmiany.
Aby użyć lub zainstalować pakiet ręcznie, przejdź do Narzędzia -> Opcje -> Menedżer pakietów NuGet -> Źródła pakietów
Kliknij przycisk Dodaj, wybierz Źródło i nie zapomnij kliknąć „ Aktualizuj ”, ponieważ spowoduje to aktualizację lokalizacji folderów dla pakietów, edytuj żądaną Nazwę źródła pakietu, jeśli chcesz:
Aby wybrać dodany pakiet, kliknij prawym przyciskiem myszy rozwiązanie i wybierz „ Zarządzaj pakietami Nuget ”
Lista rozwijana znajduje się po prawej stronie i wybierz Przeglądaj, aby przeglądać pakiety określone w źródle folderów. Jeśli w tym źródle folderów nie ma pakietu nuget, będzie on pusty:
źródło
W systemie Linux z interfejsem NuGet CLI polecenia są podobne. Aby zainstalować mój.nupkg, uruchom
Następnie uruchom
dotnet restore
z tego katalogulub dodaj ten katalog jako źródło NuGet
a następnie powiedz,
msbuild
aby użyć tego katalogu z/p:RestoreAdditionalSources=MySource
lub/p:RestoreSources=MySource
. Drugi przełącznik wyłączy wszystkie inne źródła, co jest dobre na przykład w scenariuszach offline.źródło
nuget sources
jeśli używaszdotnet restore
(lub VS Mac ) z powodu tego błędu. Musiałem~/.nuget/NuGet/NuGet.Config
ręcznie dodać lokalne źródło (zobacz ten problem GH ).