我必须处理一个包,它将程序集直接安装到 GAC 中(例如,位于 %windows%/ assembly 深处的某个位置)。
如何将实际程序集(DLL)从 GAC 转移到普通文件系统中?
Thanks.
我使用了来自的建议本文 http://blogs.msdn.com/akukreja/archive/2008/05/23/get-dll-out-of-the-gac.aspx从 GAC 获得大会。
从 GAC 中获取 DLL
DLL 一次
部署在 GAC(通常位于
c:\windows\Assembly) 无法查看
或用作普通的 DLL 文件。他们
不能直接从VS引用
项目。开发商通常会保留一个
原始 DLL 文件的副本和
在项目中参考它
开发(设计)时间,使用
运行时来自 GAC 的汇编
项目的。
在执行期间(运行时)如果
发现程序集已签名并且
自动部署在 GAC 和 CLR 中
从 GAC 获取组件
而不是期间引用的 DLL
VS 中的设计时间。如果
开发者已经删除了原来的DLL
或者由于某种原因没有,
有一种方法可以获取DLL文件
来自广汽集团。请按照以下步骤操作
从 GAC 复制 DLL
-
运行 regsvr32 /u C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\shfusion.dll
- shfusion.dll 是一个资源管理器扩展 DLL,它提供了独特的
查看 GAC 文件夹。取消注册
该文件将删除程序集
缓存查看器和 GAC 文件夹将
然后像任何普通文件夹一样可见
在资源管理器中。
打开“%windir%\ assembly \ GAC_MSIL”。
浏览到您的 DLL 文件夹,深入查找您的 DLL。
将 DLL 复制到硬盘上的某个位置,然后从那里引用它
项目
运行“regsvr32 %windir%\Microsoft.NET\Framework\<.net> \shfusion.dll”到
重新注册 shfusion.dll 文件并
恢复原来清晰的视野
GAC。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)