GAC 与其物理路径

栏目: 编程语言 · 发布时间: 7年前

内容简介:GAC 与其物理路径

GAC (Global Assembly Cache) 是 .NET 框架下程序集(Assembly)的一个全局缓存。不同 CLR (Common Language Runtime, 公共语言运行时) 版本,不同平台的程序集会被缓存在不同路径下。

CLR 版本 对应 .NET 版本 程序集平台 -> 缓存位置
1.0 1.0 - -> %windir%\assembly\GAC
1.1 1.1 ->
2.0 2.0/3.0/3.5 Win32 -> %windir%\assembly\GAC_32
x64 -> %windir%\assembly\GAC_64
Any CPU -> %windir%\assembly\GAC_MSIL
4 4.x (4.0-4.7) Win32 -> %windir%\Microsoft.NET\assembly\GAC_32
x64 -> %windir%\Microsoft.NET\assembly\GAC_64
Any CPU -> %windir%\Microsoft.NET\assembly\GAC_MSIL

GAC 的访问顺序

当程序集(Assembly)要从 GAC 中加载依赖时,会根据自己的平台(32 位或 64 位)首先尝试加载 GAC_32GAC_64 下的程序集,随后尝试 GAC_MSIL ,如果在这其中都没能找到,则会尝试 GAC

如果依赖的程序集没有在 GAC 中找到,那么还会依次尝试依赖者所在的当前目录以及环境变量 PATH 中的目录。

GAC 目录下的其他文件夹

关于 GAC,我们有如下目录结构:

%windir%
├── assembly
│   ├── GAC
│   ├── GAC_32
│   ├── GAC_64
│   ├── GAC_MSIL
│   ├── NativeImages_v2.0.50727_32
│   ├── NativeImages_v2.0.50727_64
│   ├── NativeImages_v4.0.30319_32
│   ├── NativeImages_v4.0.30319_64
│   ├── temp
│   └── tmp
└── Microsoft.NET
    └── assembly
         ├── GAC_32
         ├── GAC_64
         └── GAC_MSIL

其中 NativeImages 目录下包含了已经通过 Ngen.exe 编译成原生代码的程序集。

tmp 目录则是用做程序集安装至 GAC 之前的一个临时目录, temp 目录则是程序集从 GAC 中卸载时所用的临时目录。

参考阅读(英文)


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏运营:高手进阶之路

游戏运营:高手进阶之路

饭大官人 / 电子工业出版社 / 2018-1-1 / 79.00元

《游戏运营:高手进阶之路》是一本系统的、成体系的、注重运营效能、强化系统思维、提升专业认知的书籍。《游戏运营:高手进阶之路》几乎完整覆盖了一个游戏运营人员日常工作中的方方面面,并从工作中具体的业务场景出发,归纳整理出各种解决问题的方法论。《游戏运营:高手进阶之路》为广大游戏从业者建立了完整的知识技能成长体系,包含两大岗位基本功—内容输出和协作推进,四大职业技能—活动策划、版本管理、用户运营、数据分......一起来看看 《游戏运营:高手进阶之路》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具