如何查看GAC中的文件夹和文件?

我想查看GAC中的文件夹和子文件夹。 也想知道关于GAC的添加和删​​除。

要安装,我们通过打开Visual Studio command prompt在命令提示符下编写这些行: –

gacutil /i [assembly path]

但是要卸载,我们只需要: –

gacutil /u [assembly name]

为什么?

安装:

 gacutil -i "path_to_the_assembly" 

视图:

在Windows资源pipe理器中打开

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

gacutil –l

当你要安装一个程序集时,你必须指定gacutil可以find的地方,所以你必须提供一个完整的path。 但是,当一个程序集已经在GAC中gacutil知道一个文件夹path,所以它只需要一个程序集名称。

MSDN:

  • 如何:将程序集安装到全局程序集caching中
  • 如何:查看全局程序集caching的内容

我在这一天晚了一个美元。 如果要在Windows资源pipe理器中查看GAC的文件夹结构,可以使用registry执行此操作 :

  1. 启动regedit。
  2. 导航到HKLM \ Software \ Microsoft \ Fusion
  3. 添加一个名为DisableCacheViewer的DWORD并将其值设置为1。

对于临时视图,可以用一个驱动器替代文件夹path,这将删除特殊的目录属性。

  1. 在您的帐户权限级别启动命令提示符。
    • 如果您提升您的权限,则可能无法在Windows 7中看到该驱动器 。
  2. 键入SUBST Z:C:\ Windows \ assembly
    • Z可以是任何自由的盘符。
  3. 打开我的电脑,看看新的替代目录。
  4. 要从命令提示符中删除虚拟驱动器,请键入SUBST Z:/ D

至于你为什么要这样做,我用这个技巧来比较不同机器之间的GAC DLL,以确保它们真的是一样的。

启动程序“运行”(Windows Vista / C:\windows\assembly\GAC_MSIL在开始菜单search栏中input),然后input: C:\windows\assembly\GAC_MSIL

然后移至父文件夹(Windows Vista / 7/8:通过在资源pipe理器栏中单击)来查看正常资源pipe理器窗口中的所有GAC文件。 您现在可以像其他地方一样复制,添加和删除文件。

要查看文件,只需从命令提示符( cmd )浏览它们,例如:

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

要从GAC添加和删除文件,请使用gacutil工具

通过使用以下代码作为程序集

  • 安装程序,您为您的应用程序创作。
  • 在命令行中使用带-i选项的gacutil.exe工具。
  • %windir%\Assembly删除程序集(仅适用于.NET 3.5,CLR 2.0)

您可以使用以下方式查看GAC的内容:

  • -l选项的gacutil.exe工具。
  • 对于使用Windows资源pipe理器浏览到%windir%\assembly .NET 2.0,3.0和3.5(CLR 2.0)。

请注意,.NET 4.0的(物理)GAC位置已更改。 它不再在%windir%\Assembly ,而是在%windir%\Microsoft.NET\assembly 。 但是,不要写任何依赖于物理位置的代码,因为考虑到几乎没有必要的工具(除了一些“酷”的本地系统诊断工具)。