如何查看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执行此操作 :
- 启动regedit。
- 导航到HKLM \ Software \ Microsoft \ Fusion
- 添加一个名为DisableCacheViewer的DWORD并将其值设置为1。
对于临时视图,可以用一个驱动器替代文件夹path,这将删除特殊的目录属性。
- 在您的帐户权限级别启动命令提示符。
- 如果您提升您的权限,则可能无法在Windows 7中看到该驱动器 。
- 键入SUBST Z:C:\ Windows \ assembly
- Z可以是任何自由的盘符。
- 打开我的电脑,看看新的替代目录。
- 要从命令提示符中删除虚拟驱动器,请键入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
。 但是,不要写任何依赖于物理位置的代码,因为考虑到几乎没有必要的工具(除了一些“酷”的本地系统诊断工具)。