Jak wyświetlić folder i pliki w GAC?


109

Chcę wyświetlić foldery i podfoldery w GAC . Chcę też wiedzieć o dodawaniu i usuwaniu z GAC .

Aby zainstalować, piszemy te linie w wierszu poleceń, otwierając Visual Studio command prompt: -

gacutil /i [assembly path]

Ale do odinstalowania potrzebujemy tylko: -

gacutil /u [assembly name]

Czemu?


Jeśli przejdziesz do jednego z folderów zespołu w katalogu Windows, a następnie wpisz nazwę biblioteki DLL, której szukasz w pasku wyszukiwania (w eksploratorze plików), powinny zacząć się pojawiać.
JakeJ

Odpowiedzi:


135

Zainstalować:

gacutil -i "path_to_the_assembly"

Widok:

Otwórz w folderze Eksploratora Windows

  • .NET 1.0 - NET 3.5: c:\windows\assembly( %systemroot%\assembly)
  • .NET 4.x: %windir%\Microsoft.NET\assembly

LUB gacutil –l

Kiedy zamierzasz zainstalować zestaw, musisz określić, gdzie gacutilmożna go znaleźć, więc musisz również podać pełną ścieżkę. Ale kiedy zestaw już znajduje się w GAC - gacutilpoznaj ścieżkę do folderu, więc potrzebna jest tylko nazwa zestawu.

MSDN:


4
Zauważ, że dla .NET 4.0 lokalizacja GAC ​​to teraz:% windir% \ Microsoft.NET \ assembly \
Alex Nolasco

57

Spóźniłem się dzień i brakuje mi dolara. Jeśli chcesz wyświetlić strukturę folderów GAC w Eksploratorze Windows, możesz to zrobić za pomocą rejestru :

  1. Uruchom regedit.
  2. Przejdź do HKLM \ Software \ Microsoft \ Fusion
  3. Dodaj DWORD o nazwie DisableCacheViewer i ustaw wartość na 1.

Aby uzyskać widok tymczasowy, możesz zastąpić dysk ścieżką folderu, co spowoduje usunięcie specjalnych właściwości katalogu.

  1. Uruchom wiersz polecenia na poziomie uprawnień swojego konta .
  2. Wpisz SUBST Z: C: \ Windows \ assembly
    • Z może być dowolną wolną literą dysku.
  3. Otwórz Mój komputer i poszukaj w nowym katalogu zastępczym.
  4. Aby usunąć dysk wirtualny z wiersza polecenia, wpisz SUBST Z: / D

Jeśli chodzi o powody, dla których chcesz zrobić coś takiego, użyłem tej sztuczki, aby porównać biblioteki DLL GAC między różnymi maszynami, aby upewnić się, że są naprawdę takie same.



Nowa pozycja 'HKLM: \ Software \ Microsoft \ Fusion' -Force | New-ItemProperty -Name "DisableCacheViewer" -PropertyType DWord -Value 1 -Force | Out-Null
Textcape

40

Uruchom program „Uruchom” (Windows Vista / 7/8: wpisz go w pasku wyszukiwania menu Start) i wpisz: C:\windows\assembly\GAC_MSIL

Następnie przejdź do folderu nadrzędnego (Windows Vista / 7/8: klikając go w pasku eksploratora), aby wyświetlić wszystkie pliki GAC w normalnym oknie eksploratora. Możesz teraz kopiować, dodawać i usuwać pliki, tak jak wszędzie.


Dziękuję - pozwoliło mi to na użycie Eksploratora Windows, który został oznaczony jako przestarzały od .NET 4
Dave Friedel

8

Aby wyświetlić pliki, po prostu przejrzyj je z wiersza poleceń ( cmd), np .:

c:\>cd \Windows\assembly\GAC_32
c:\Windows\assembly\GAC_32> dir

Aby dodać i usunąć pliki z GAC, użyj narzędzia gacutil


Chcę zobaczyć go jako normalny folder.
Rohit Vipin Mathews

@CodingMastero To NIE jest normalny folder!
Klaus Byskov Pedersen

Czy nie możemy użyć jakiegoś hacka, aby zobaczyć to jako normalne?
Rohit Vipin Mathews

@CodingMastero Nie, nie możesz. Możesz go wyświetlić w wierszu polecenia, jak podano powyżej.
Klaus Byskov Pedersen

1
Tak. Przepraszam, że mogłem nie wyrazić tutaj jasno Nie można używać C:\Windows\assemblydo przeglądania .NET 4.0 GAC. Oczywiście nadal możesz go używać z .NET 2/3 (jeśli jest również zainstalowany). Nie ma porównywalnych rozszerzeń powłoki (AFAIK), które działałyby w ten sam sposób dla nowego C:\Windows\Microsoft.NET\assemblykatalogu.
Christian.K

5

Instalujesz jako zestawy przy użyciu:

  • Program instalacyjny, który stworzyłeś dla swojej aplikacji.
  • Używanie gacutil.exenarzędzia z-i opcją z wiersza poleceń.
  • Upuszczanie zestawu %windir%\Assembly(tylko do .NET 3.5, CLR 2.0)

Zawartość GAC przeglądasz za pomocą:

  • gacutil.exeNarzędzie z-l wyboru.
  • Dla .NET 2.0, 3.0 i 3.5 (CLR 2.0) przeglądanie %windir%\assemblyprzy użyciu Eksploratora Windows.

Należy zauważyć, że (fizyczna) lokalizacja GAC ​​uległa zmianie w przypadku platformy .NET 4.0. Już go nie ma %windir%\Assembly, ale teraz jest %windir%\Microsoft.NET\assembly. Jednak nigdy nie powinieneś pisać żadnego kodu, który i tak zależy od fizycznej lokalizacji, ponieważ biorąc pod uwagę dostępne narzędzia, nie jest on prawie potrzebny (poza niektórymi "fajnymi" narzędziami diagnostycznymi systemu domowej roboty).


Poza gacutil.exetym jedynym innym dostępnym narzędziem, o którym wiem, jest fusion.dll.
Scott Solmer
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.