如何从GAC中拷贝文件出来 C:\Windows\assembly

时间:2022-02-23 02:49:28

方法一:命令行拷贝。

开始--运行--cmd--"cd C:\WINDOWS\assembly".一般自己开发的dll都在GAC_MSIL这个文件夹下面,按照我如下的截图就可以拷贝出你所需要的DLL文件。 

如何从GAC中拷贝文件出来 C:\Windows\assembly 

方法二:使用WinRAR工具

打开WinRAR工具,把 C:\WINDOWS\assembly地址输入到地址栏中,如下图。在WinRAR中已经详细列出GAC里面的文件结构。

如何从GAC中拷贝文件出来 C:\Windows\assembly 

进入到GAC_MSIL文件夹下面,如图:

如何从GAC中拷贝文件出来 C:\Windows\assembly 

这里面你直接“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中可以看到的都是可以用上面的办法拿出来的。

在开发环境的电脑上可生成报表,但是一到客户端就提示An error occurred during local report processing错误。

猜想是缺dll,补充上

Microsoft.ReportViewer.Common.dll

Microsoft.ReportViewer.WinForms.dll

结果问题依旧,难道还缺?

google后得知还缺一个

Microsoft.ReportViewer.ProcessingObjectModel.dll

这个可不好找,在C:\Windows\assembly中能看到,但不能直接复制。

于是在命令提示符下

 

C:\Users\Thinkpad>cd C:\Windows\assembly

C:\Windows\assembly>cd GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\10.
0.0.0__b03f5f7f11d50a3a

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\10.0.0
.0__b03f5f7f11d50a3a>copy Microsoft.ReportViewer.ProcessingObjectModel.dll d:\Mi
crosoft.ReportViewer.ProcessingObjectModel.dll