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?

Rohit Vipin Mathews
źródło
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:

sll
źródło
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.

Rakuen42
źródło
Edycję
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.

Julius Kunze
źródło
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

Klaus Byskov Pedersen
źródło
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).

Christian.K
źródło
Poza gacutil.exetym jedynym innym dostępnym narzędziem, o którym wiem, jest fusion.dll.
Scott Solmer