GAC 结构化目录

GAC 目录是结构化的,是用一个算法管理子目录的名称,是系统自动管理的,永远不要采用手工方式将程序集复制到 GAC 目录.

一个比较完整的.NET Framework 2.0的GAC下子目录的结构如下所示:

C:/WINDOWS/Assembly/GAC

C:/WINDOWS/Assembly/GAC_32

C:/WINDOWS/Assembly/GAC_MSIL

C:/WINDOWS/Assembly/GAC_64

C:/WINDOWS/Assembly/NativeImages1_v1.1.4322

C:/WINDOWS/Assembly/NativeImages_v2.0.50727_32

C:/WINDOWS/Assembly/NativeImages_v2.0.50727_64

其中:

GAC是用于存放基于.NET Framework 1.0/1.1创建的Assemblies,这些Assemblies只能运行在32-bit 地址空间。

GAC_MSIL用于存放基于.NET Framework 2.0上的无特定CPU指定的Assemblies,这些assemblies可以运行在32-bit地址空间或者64-bit地址空间。

GAC_32也是用于存放基于.NET Framework 2.0创建的基于x86架构的Assemblies,因为这些Assemblies可以拥有32-bit的native CPU代码,所以只能运行在32-bit空间,可以直接在32-bit系统上运行或者使用WOW64技术在64-bit的OS系统上运行。

GAC_64用于存放.NET Framework 2.0上创建的基于x64或者IA64的Assemblies,这些Assemblies可能含有x64或者IA64的Native Code,所以他们只能运行在64-bit地址空间上。这个目录在32-bit的OS上不存在。值得注意的是,GAC_64中的Assemblies是根据系统架构决定,在x64系统上,该目录中的Assemblies就必须是基于x64的,IA64的Assemblies无法被装入,反之亦然。

以NativeImages开头的目录存放的通过NGen.exe编译assembly生成的基于当前平台的非managed代码,这个目录不需要Strongly named Assemblies,后面的数字对应了版本号。而基于.NET Framework 2.0的两个NativeImages目录名称最后的两个字符’64’和’ 32’则代表了对应的平台。

 

摘自:http://social.microsoft.com/Forums/zh-CN/netframeworkzhchs/thread/281edc5d-bc84-43a4-a409-74bf5992c827

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值