Czy istnieje sposób użycia PowerShell do przeglądania zawartości GAC?Używanie PowerShell do przeglądania zawartości pamięci podręcznej Global Assembly Cache (GAC)
Odpowiedz
Inną opcją jest to, że PowerShell Community Extensions instaluje dostawcę GAC, więc można to zrobić:
dir gac:
Jeśli jesteś na PowerShell V2, należy chwycić 1.2 Beta.
Można to zrobić tylko z wiersza poleceń:
cd C:\Windows\assembly
dir
GAC ma specyficzną strukturę katalogów i nie powinien iść w ruchu lub usuwanie rzeczy w nie za pomocą wiersza polecenia - raczej użyć Eksploratora Windows (gui) lub gacutil (cli)
Listowanie wpisów w GAC;
gacutil -l
W programie Powerhell można przeanalizować tekst wyjściowy powyższego. Nie wiem o zarządzanym interfejsie do sprawdzenia GAC.
dowolny kod przykładowy w pakiecie powershell? – Kiquenet
Miałem to samo pytanie. Pytanie stało się bardziej widoczne w .Net 4.0 i nie jest dostępna wtyczka powłoki Eksploratora Windows do przeglądania zawartości. GacUtil działa, ale nie jest wystarczająco elastyczny i wymaga wiele do zainstalowania. Opcja PowerShell Community Extensions ma ograniczoną funkcjonalność i zawiera wiele innych CmdLets, których nie potrzebuję. Dlatego napisałem własny moduł PowerShell, aby wyświetlić i zmienić GAC. Można go znaleźć na stronie http://powershellgac.codeplex.com
Ten projekt został przeniesiony do GitHub. Teraz można go znaleźć na:
https://github.com/LTruijens/powershell-gac
Można go również znaleźć w Galerii PowerShell:
https://www.powershellgallery.com/packages/Gac/1.0.1
# Show the assemblies in the GAC, including the file version
Get-GacAssembly SomeCompany* | Format-Table -View FileVersion
Jeśli chcesz wyszukać określony montażu w GAC .
Należy również zauważyć, że ponieważ MS zmieniło strukturę GAC, można użyć opcji -Recurse z katalogu głównego, aby przeszukać cały GAC.
CD C:\Windows\assembly
ls -Recurse | ?{$_.Name -like "*log4net*"}
Zgodnie the docs:
Począwszy Framework 4, domyślna lokalizacja dla globalnej pamięci podręcznej zestawów to% windir% \ Microsoft.NET \ assembly. We wcześniejszych wersjach architektury .NET Framework domyślną lokalizacją jest% windir% \ assembly.
Możesz wyszukiwać w odpowiednim podkatalogu lub nawet w obu.
kewl. Nie wiedziałam o tym. – Cheeso