2009-05-19 3 views

Antwort

16

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.

+0

kewl. Ich wusste nichts davon. – Cheeso

1

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)

6

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.

+0

beliebiger Beispielcode in Powershell? – Kiquenet

3

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 
0

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*"} 
4

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.