Ответ 1
Другой вариант заключается в том, что Расширения сообщества PowerShell устанавливает поставщика GAC, поэтому вы можете сделать это:
dir gac:
Если вы находитесь на PowerShell V2, обязательно возьмите бета-версию 1.2.
Есть ли способ использовать PowerShell для просмотра содержимого GAC?
Другой вариант заключается в том, что Расширения сообщества PowerShell устанавливает поставщика GAC, поэтому вы можете сделать это:
dir gac:
Если вы находитесь на PowerShell V2, обязательно возьмите бета-версию 1.2.
Перечислить записи в GAC;
gacutil -l
В powershell вы можете проанализировать вывод текста выше. Я не знаю управляемый интерфейс для проверки GAC.
Как указано в документах:
Начиная с .NET Framework 4, по умолчанию для глобального кеша сборок установлено значение% windir%\Microsoft.NET\assembly. В более ранних версиях .NET Framework расположение по умолчанию -% windir%\assembly.
Вы можете искать в соответствующем субдире или даже в обоих из них.
У меня был тот же вопрос. Вопрос стал более заметным с .Net 4.0, и там нет плагина оболочки Windows Explorer для просмотра содержимого. GacUtil работает, но недостаточно гибкий и требует многого для установки. Опция расширения сообщества PowerShell ограничивает ее функциональность и содержит многие другие CmdLets, которые мне не нужны. Поэтому я написал свой собственный модуль PowerShell для просмотра и изменения GAC. Его можно найти на http://powershellgac.codeplex.com
Этот проект переместился в GitHub. Теперь вы можете найти его:
https://github.com/LTruijens/powershell-gac
Его также можно найти в галерее 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
Вы можете сделать это только из командной строки:
cd C:\Windows\assembly
dir
У GAC есть определенная структура каталогов, и вам не следует перемещать или удалять вещи там, используя командную строку - скорее используйте проводник Windows (gui) или gacutil (cli)
Если вы хотите найти конкретную сборку в GAC.
Также обратите внимание, что поскольку MS изменила структуру GAC, вы можете использовать опцию -Recurse из корня для поиска всех GAC.
CD C:\Windows\assembly
ls -Recurse | ?{$_.Name -like "*log4net*"}