早上和同事探讨如何从GAC中拷贝已经部署的DLL文件的时候,除了以前熟悉的命令行拷贝方法,还得到一种WinRAR软件拷贝的方法。我这里简单介绍一下两种方法:
方法一:命令行拷贝。
开始--运行--cmd--"cd C:\WINDOWS\assembly".一般自己开发的dll都在GAC_MSIL这个文件夹下面,按照我如下的截图就可以拷贝出你所需要的DLL文件。
方法二:使用WinRAR工具
打开WinRAR工具,把 C:\WINDOWS\assembly地址输入到地址栏中,如下图。在WinRAR中已经详细列出GAC里面的文件结构。
进入到GAC_MSIL文件夹下面,如图:
这里面你直接“Ctrl+C”复制(右键没有复制这个选项),粘帖到你电脑里,OK!
方法3:
当机器上安装一些程序后,Assembly中的DLL会变得越来越丰富。
拿个常见问题来说明。
安装ReportViewer后其中会出现以下DLL。
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.Common.dll
下面两个,在VS安装目录可以搜到,而Microsoft.ReportViewer.ProcessingObjectModel.dll无论如何也是搜不着,全硬盘搜索也搜不到。
那么,就开始执行以下命令:
Subst b: %windir%\assembly
执行完后,会发现硬盘分区多了个B盘,打开后看到了所有assembly下的DLL,于是在这里就搜到了Microsoft.ReportViewer.ProcessingObjectModel.dll,将其复制出来。
然后,这个虚拟的B分区不再需要,于是执行以下命令将其删除:
Subst b: /d
只要是在这台机器上安装了的DLL或在assembly中可以看到的都是可以用上面的办法拿出来的。