Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za każdym razem, gdy instalujesz, aktualizując lub przywracasz pakiet, NuGet zarządza pakietami i informacjami o pakiecie w kilku folderach poza strukturą projektu:
Nazwisko | Opis i lokalizacja (na użytkownika) |
---|---|
pakiety globalne | Folder global-packages to miejsce, w którym pakiet NuGet instaluje dowolny pobrany pakiet. Każdy pakiet jest w pełni rozwinięty w podfolder zgodny z identyfikatorem pakietu i numerem wersji. Projekty korzystające z formatu PackageReference zawsze używają pakietów bezpośrednio z tego folderu. W przypadku korzystania z pliku packages.config pakiety są instalowane w folderze global-packages , a następnie kopiowane do folderu projektu packages .
|
http-cache | Program Visual Studio Menedżer pakietów (NuGet 3.x+) i dotnet narzędzie przechowuje kopie pobranych pakietów w tej pamięci podręcznej (zapisane jako .dat pliki) uporządkowane w podfoldery dla każdego źródła pakietów. Pakiety nie są rozszerzane, a pamięć podręczna ma czas wygaśnięcia 30 minut.
|
tymczasowe | Folder, w którym NuGet przechowuje pliki tymczasowe podczas różnych operacji.%temp%\NuGetScratch /tmp/NuGetScratch /tmp/NuGetScratch<username> |
plugins-cache 4.8+ | Folder, w którym NuGet przechowuje wyniki żądania oświadczeń operacji.
|
Uwaga
Program NuGet 3.5 i starsze wersje używają pamięci podręcznej packages-cache zamiast pamięci podręcznej http, która znajduje się w lokalizacji %localappdata%\NuGet\Cache
.
Korzystając z folderów pamięci podręcznej i pakietów globalnych, pakiet NuGet zwykle unika pobierania pakietów, które już istnieją na komputerze, zwiększając wydajność operacji instalacji, aktualizacji i przywracania. W przypadku korzystania z funkcji PackageReference folder global-packages pozwala również uniknąć utrzymywania pobranych pakietów wewnątrz folderów projektu, gdzie mogą być przypadkowo dodawane do kontroli źródła i zmniejsza ogólny wpływ nuGet na magazyn komputerów.
Po wyświetleniu monitu o pobranie pakietu pakiet NuGet najpierw zostanie wyświetlony w folderze global-packages . Jeśli dokładna wersja pakietu nie istnieje, narzędzie NuGet sprawdza wszystkie źródła pakietów innych niż HTTP. Jeśli pakiet nadal nie zostanie znaleziony, pakiet NuGet szuka pakietu w pamięci podręcznej http-cache, chyba że określono dotnet.exe
--no-http-cache
polecenia lub -NoHttpCache
polecenianuget.exe
. Jeśli pakiet nie znajduje się w pamięci podręcznej lub pamięć podręczna nie jest używana, narzędzie NuGet pobiera pakiet za pośrednictwem protokołu HTTP .
Aby uzyskać więcej informacji, zobacz Co się stanie po zainstalowaniu pakietu?
Wyświetlanie lokalizacji folderów
Lokalizacje można wyświetlić za pomocą polecenia nuget locals:
# Display locals for all folders: global-packages, http cache, temp and plugins cache
nuget locals all -list
Typowe dane wyjściowe (Windows; "user1" to bieżąca nazwa użytkownika):
http-cache: C:\Users\user1\AppData\Local\NuGet\v3-cache
global-packages: C:\Users\user1\.nuget\packages\
temp: C:\Users\user1\AppData\Local\Temp\NuGetScratch
plugins-cache: C:\Users\user1\AppData\Local\NuGet\plugins-cache
(package-cache
jest używany w nuGet 2.x i jest wyświetlany z NuGet 3.5 i jego wcześniejszymi wersjami).
Lokalizacje folderów można również wyświetlić za pomocą polecenia dotnet nuget locals:
dotnet nuget locals all --list
Typowe dane wyjściowe (Mac; "user1" to bieżąca nazwa użytkownika):
info : http-cache: /home/user1/.local/share/NuGet/v3-cache
info : global-packages: /home/user1/.nuget/packages/
info : temp: /tmp/NuGetScratch
info : plugins-cache: /home/user1/.local/share/NuGet/plugins-cache
Typowe dane wyjściowe (Linux; "user1" to bieżąca nazwa użytkownika):
info : http-cache: /home/user1/.local/share/NuGet/v3-cache
info : global-packages: /home/user1/.nuget/packages/
info : temp: /tmp/NuGetScratchuser1
info : plugins-cache: /home/user1/.local/share/NuGet/plugins-cache
Aby wyświetlić lokalizację pojedynczego folderu, użyj polecenia http-cache
, global-packages
, temp
lub plugins-cache
zamiast all
.
Czyszczenie folderów lokalnych
Jeśli wystąpią problemy z instalacją pakietu lub w inny sposób chcesz upewnić się, że instalujesz pakiety z galerii zdalnej, użyj locals --clear
opcji (dotnet.exe) lub locals -clear
(nuget.exe), określając folder do wyczyszczenia lub all
wyczyść wszystkie foldery:
# Clear the 3.x+ cache (use either command)
dotnet nuget locals http-cache --clear
nuget locals http-cache -clear
# Clear the 2.x cache (NuGet CLI 3.5 and earlier only)
nuget locals packages-cache -clear
# Clear the global packages folder (use either command)
dotnet nuget locals global-packages --clear
nuget locals global-packages -clear
# Clear the temporary cache (use either command)
dotnet nuget locals temp --clear
nuget locals temp -clear
# Clear the plugins cache (use either command)
dotnet nuget locals plugins-cache --clear
nuget locals plugins-cache -clear
# Clear all caches (use either command)
dotnet nuget locals all --clear
nuget locals all -clear
Wszystkie pakiety używane przez projekty, które są obecnie otwarte w programie Visual Studio, nie są czyszczone z folderu global-packages .
Począwszy od programu Visual Studio 2017, użyj polecenia menu Narzędzia > NuGet Menedżer pakietów > Menedżer pakietów Ustawienia, a następnie wybierz pozycję Wyczyść wszystkie pamięci podręczne NuGet. Zarządzanie pamięcią podręczną nie jest obecnie dostępne za pośrednictwem konsoli Menedżer pakietów. W programie Visual Studio 2015 użyj poleceń interfejsu wiersza polecenia.
Rozwiązywanie problemów
Podczas korzystania z programu nuget locals
lub dotnet nuget locals
mogą wystąpić następujące błędy:
Błąd: Proces nie może uzyskać dostępu do pakietu> plików<, ponieważ jest on używany przez inny proces lub czyszczenie zasobów lokalnych nie powiodło się: Nie można usunąć jednego lub większej liczby plików
Co najmniej jeden plik w folderze jest używany przez inny proces; Na przykład projekt programu Visual Studio jest otwarty, który odwołuje się do pakietów w folderze global-packages . Zamknij te procesy i spróbuj ponownie.
Błąd: Odmowa dostępu do ścieżki lub <> katalog nie jest pusty
Nie masz uprawnień do usuwania plików w pamięci podręcznej. Zmień uprawnienia folderu, jeśli to możliwe, i spróbuj ponownie. W przeciwnym razie skontaktuj się z administratorem systemu.
Błąd: określona ścieżka, nazwa pliku lub oba są za długie. W pełni kwalifikowana nazwa pliku musi być mniejsza niż 260 znaków, a nazwa katalogu musi być mniejsza niż 248 znaków.
Skróć nazwy folderów i spróbuj ponownie.