Ang*_*ker 132 .net assemblies
我必须处理一个包,它将程序集直接安装到GAC中(例如,在%windows%/ assembly中的某个地方).
如何将实际程序集(DLL)从GAC驱动到普通文件系统?
谢谢.
And*_*are 149
我使用本文中的建议从GAC获取程序集.
从GAC中获取DLL
一旦部署在GAC(通常位于c:\ windows\assembly)中的DLL就无法查看或用作普通的DLL文件.它们不能直接从VS项目中引用.开发人员通常会保留原始DLL文件的副本,并在开发(设计)时在项目中引用它,该文件在项目运行期间使用GAC中的程序集.
在执行(运行时)期间,如果发现程序集在GAC中被签名和部署,则CLR会自动从GAC中获取程序集,而不是在VS中设计时引用的DLL.如果开发人员删除了原始DLL或由于某种原因没有它,有一种方法可以从GAC获取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的原始独特视图.
Sad*_*jad 107
这里描述的方法非常简单:
文章摘要:
\\YourServer\C$\Windows\Assembly
)小智 82
打开命令提示符并键入:
cd c:\windows\assembly\GAC_MSIL
xcopy . C:\GacDump /s /y
Run Code Online (Sandbox Code Playgroud)
这应该是整个GAC的转储
请享用!
mcc*_*ger 24
是.
添加DisableCacheViewer注册表项
在HKLM\Software\Microsoft\Fusion \下创建一个名为DisableCacheViewer的新dword键,并将其[DWORD]值设置为1.
返回Windows资源管理器到程序集文件夹,它将是普通的文件系统视图.
Ada*_*amB 16
我认为最简单的方法是通过像David提到的命令行来完成它.唯一的技巧是.dll不仅仅位于C:\ Windows\Assembly.您必须导航到C:\ Windows\Assembly\GAC\[ASSEMBLY_NAME]\[VERSION_NUMBER] _ [PUBLIC KEY].然后,您可以使用以下方法复制:
复制[ASSEMBLY_NAME] .dll c:\(或您想要的任何位置)
希望有所帮助.
我是PowerShell GAC的作者。使用 PowerShell GAC,您可以从 GAC 中提取程序集,而无需依赖 GAC 内部结构(例如更改文件夹结构)。
Get-GacAssembly SomeCompany* | Get-GacAssemblyFile | Copy-Item -Dest C:\Temp\SomeCompany
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
126786 次 |
最近记录: |