Gibt es eine Möglichkeit, den Inhalt des GAC mithilfe von PowerShell anzuzeigen?Verwenden von PowerShell zum Anzeigen des Inhalts des globalen Assemblycaches (GAC)
Antwort
Eine weitere Option ist, dass der PowerShell Community Extensions ein GAC-Provider installiert, so können Sie dies tun:
dir gac:
Wenn Sie auf Powershell V2 sind, sollten Sie die 1.2 Beta greifen.
Sie können es nur aus einer Eingabeaufforderung:
cd C:\Windows\assembly
dir
Das GAC hat eine bestimmte Verzeichnisstruktur, und Sie sollten dort über die Eingabeaufforderung Verschieben oder Löschen Dinge nicht gehen - und nicht den Windows Explorer verwenden (gui) oder gacutil (cli)
Um Einträge im GAC aufzulisten;
In Powershell könnten Sie die Textausgabe der oben genannten parsen. Ich kenne keine verwaltete Schnittstelle zur Überprüfung des GAC.
beliebiger Beispielcode in Powershell? – Kiquenet
Ich hatte die gleiche Frage. Die Frage wurde mit .Net 4.0 auffälliger und es gibt kein Windows Explorer Shell-Plugin, um den Inhalt anzuzeigen. GacUtil funktioniert, ist aber nicht flexibel genug und benötigt eine Menge Installation. Die PowerShell Community Extensions Option ist in ihrer Funktionalität eingeschränkt und enthält viele andere CmdLets, die ich nicht benötige. Daher habe ich mein eigenes PowerShell-Modul geschrieben, um den GAC anzuzeigen und zu ändern. Es kann auf http://powershellgac.codeplex.com
gefunden werden Dieses Projekt wurde nach GitHub verschoben. Sie können es jetzt finden Sie unter:
https://github.com/LTruijens/powershell-gac
Es kann auch in der Powershell-Galerie zu finden:
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
Wenn Sie für eine bestimmte Assembly im GAC suchen .
Beachten Sie auch, da MS die GAC-Struktur geändert hat, können Sie die Option -Recurse aus dem Stamm verwenden, um alle GAC zu durchsuchen.
CD C:\Windows\assembly
ls -Recurse | ?{$_.Name -like "*log4net*"}
Wie in the docs erklärte:
mit dem .NET Framework Ab 4 ist die Standardposition für den globalen Assemblycache% windir% \ Microsoft.NET \ assembly. In früheren Versionen von .NET Framework ist der Standardspeicherort% windir% \ assembly.
Sie können im entsprechenden Unterverzeichnis oder sogar in beiden suchen.
kewl. Ich wusste nichts davon. – Cheeso