GAC(Global Assembly Cache)全局程序集缓存
GAC所在目录为%windir%\assembly\
GAC的作用就是一个assembly库。他的作用可以简要说有下面几点:
1.assembly集中地。
.net有许多assembly是共用的,比如system.dll, 这些共用的程序集我们并不希望个程序都拷贝一份到各个程序目录下,于是就产生了assembly库的需求。
2.版本控制。
如果现在拥有System.dll v1.0 和System.dll v2.0 这两个版本,但是在普通的文件存储中这两个文件由于名字相同而无法存储在相同的文件夹中,因此,存储assembly的库必须拥有版本区分的功能。
这个功能可以扩展出有程序集不同语言的需求。
GAC的管理
使用gacutil工具对GAC进行管理,gacutil是在.net sdk中
查看assembly是否存在:
gacutil.exe /l <assemblyName>
把dll加入到GAC中:
gacutil.exe /i <assemblyName>
PS:使用gacutil必须拥有administrator权限
gacutil具体操作指南: