全局程序集缓存

全局程序集缓存（Global Assembly Cache，缩写GAC）是微软.NET框架中通用语言架构（CLI）在计算机范围内的一个CLI程序集缓存。这是一个有特殊控制的中央存储库，用以解决了共享程序库概念中的缺陷，并有助于避免其他解决方案中的陷阱，例如DLL地狱。

需求

全局程序集缓存中驻留的程序集必须遵守特定的版本控制方案，以允许并行执行不同的代码版本。具体来说，程序集必须采用强命名。

使用

与全局程序集缓存交互有两种方式：全局程序集缓存工具（gacutil.exe）和程序集缓存查看器（shfusion.dll）。

使用示例

假设一台电脑上有两个名为程序集的AssemblyA，其中一个是1.0版本，另一个是2.0版本。由于编译时需要找到AssemblyA，而两个同名文件不能在FAT32文件系统上存在于同一个目录。而应用此技术，程序可以使用全局程序集缓存的虚拟文件系统，调用所需的特定版本程序集。