GACでフォルダーとファイルを表示する方法


109

GACでフォルダーとサブフォルダーを表示したい。GACへの追加とGACからの削除についても知りたい。

インストールするには、次のコマンドを開いてコマンドプロンプトにこの行を書き込みます Visual Studio command prompt

gacutil /i [assembly path]

しかし、アンインストールするために必要なのは:-

gacutil /u [assembly name]

どうして?


Windowsディレクトリのいずれかのアセンブリフォルダーに移動し、探しているDLL名を(ファイルエクスプローラーの)検索バーに入力すると、それらが表示され始めます。
JakeJ

回答:


135

インストール:

gacutil -i "path_to_the_assembly"

見る:

Windowsエクスプローラーフォルダーで開く

  • .NET 1.0 - NET 3.5: c:\windows\assembly%systemroot%\assembly
  • .NET 4.x: %windir%\Microsoft.NET\assembly

または gacutil –l

アセンブリをインストールする場合は、アセンブリをgacutil見つけることができる場所を指定する必要があるため、完全なパスも指定する必要があります。しかし、アセンブリがすでにGACにある場合-gacutil、フォルダーパスがわかっているため、アセンブリ名が必要です。

MSDN:


4
.NET 4.0の場合、GACの場所は次のとおりです。%windir%\ Microsoft.NET \ assembly \
Alex Nolasco 14

57

私は1日遅れており、これでは1ドル足りません。WindowsエクスプローラーでGACのフォルダー構造を表示する場合は、レジストリを使用してこれを行うことができます

  1. regeditを起動します。
  2. HKLM \ Software \ Microsoft \ Fusionに移動します
  3. DisableCacheViewerというDWORDを追加し、値を1に設定します。

一時的なビューの場合は、フォルダパスをドライブで置き換えることができます。これにより、特別なディレクトリプロパティが取り除かれます。

  1. アカウントの特権レベルでコマンドプロンプトを起動します。
  2. タイプSUBST Z:C:\ Windows \ assembly
    • Zには、任意の空きドライブ文字を指定できます。
  3. マイコンピュータを開き、新しい代替ディレクトリを調べます。
  4. コマンドプロンプトから仮想ドライブを削除するには、SUBST Z:/ Dと入力します。

なぜあなたがこのようなことをしたいのかについて、私はこのトリックを使って、異なるマシン間でGACされたDLLを比較して、それらが本当に同じであることを確認しました。


あなたはPowerShellを使用し、レジストリを編集する自動化することができます:
Textcape

新しいアイテム 'HKLM:\ Software \ Microsoft \ Fusion' -Force | New-ItemProperty -Name "DisableCacheViewer" -PropertyType DWord -Value 1 -Force | Out-Null
Textcape

40

「実行」プログラムを起動し(Windows Vista / 7/8:スタートメニューの検索バーに入力します)、次のように入力します。 C:\windows\assembly\GAC_MSIL

次に、親フォルダに移動し(Windows Vista / 7/8:エクスプローラバーでそれをクリックして)、通常のエクスプローラウィンドウにすべてのGACファイルを表示します。他の場所と同じように、ファイルをコピー、追加、削除できます。


ありがとう-.NET 4以降廃止されたWindowsエクスプローラを使用することができました
Dave Friedel

8

ファイルを表示するには、コマンドプロンプト(cmd)からファイルを参照するだけです。例:

c:\>cd \Windows\assembly\GAC_32
c:\Windows\assembly\GAC_32> dir

GACからファイルを追加および削除するには、ツールを使用します gacutil


通常のフォルダとして表示したい。
Rohit Vipin Mathews

@CodingMasteroこれは通常のフォルダではありません
Klaus Byskov Pedersen、2012

ハックを使ってそれを通常のものとして見ることができないだろうか?
Rohit Vipin Mathews、

@CodingMasteroいいえ、できません。上記のように、コマンドプロンプトから表示できます。
クラウスビスコフペデルセン

1
はい。申し訳ありませんが、ここでははっきりしていません。を使用C:\Windows\assemblyして.NET 4.0 GACを参照することはできません。もちろん、.NET 2/3でも使用できます(インストールされている場合)。新しいC:\Windows\Microsoft.NET\assemblyディレクトリに対して同じように機能する同等のシェル拡張(AFAIK)はありません。
Christian.K

5

以下を使用して、アセンブリとしてインストールします。

  • アプリケーション用に作成するセットアッププログラム。
  • コマンドラインからオプションを指定してgacutil.exeツールを使用する-i
  • アセンブリのドロップイン%windir%\Assembly(.NET 3.5、CLR 2.0までのみ)

次を使用してGACのコンテンツを表示します。

  • オプション付きのgacutil.exeツール-l
  • .NET 2.0、3.0、および3.5(CLR 2.0)の%windir%\assembly場合、Windowsエクスプローラーを使用して参照します。

(物理的な)GACの場所が.NET 4.0で変更されていることに注意してください。それはもはやではありませんが%windir%\Assembly、今では%windir%\Microsoft.NET\assemblyです。ただし、物理的な場所に依存するコードは決して記述しないでください。ほとんど必要ないツール(「クールな」自社開発のシステム診断ツールは別として)があるためです。


gacutil.exe私が知っている利用可能な他の唯一のツールに加えて、fusion.dllです。
Scott Solmer、2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.