PowerShell を使用して GAC の内容を表示する方法はありますか?
6 に答える
ドキュメントに記載されているように:
.NET Framework 4 以降では、グローバル アセンブリ キャッシュの既定の場所は %windir%\Microsoft.NET\assembly です。以前のバージョンの .NET Framework では、既定の場所は %windir%\assembly です。
適切なサブディレクトリ、またはその両方で検索することもできます。
GAC 内のエントリを一覧表示するには;
gacutil -l
PowerShell では、上記のテキスト出力を解析できます。GAC を検査するためのマネージド インターフェイスを知りません。
同じ質問がありました。この問題は .Net 4.0 でより顕著になり、コンテンツを表示するための Windows Explorer シェル プラグインが利用できなくなりました。GacUtil は機能しますが、十分な柔軟性がなく、インストールに多くの時間がかかります。PowerShell Community Extensions オプションは機能が制限されており、必要のない他の多くの CmdLets が含まれています。したがって、GAC を表示および変更するための独自の PowerShell モジュールを作成しました。これは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) を使用してください。