GAC和强类型程序集

/*全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly,
例如System.Data、System.Windows.Forms等等。这样,很多程序就可以从GAC里面取得Assembly,
而不需要再把所有要用到的Assembly都拷贝到应用程序的执行目录下面。
举例而言,如果没有GAC,那么势必每个WinForm程序的目录下就都要从
C:\WINDOWS\Microsoft.NET\Framework\vX下面拷贝一份System.Windows.Forms.dll,
这样显然不如都从GAC里面取用方便,也有利于Assembly的升级和版本控制。 */
/*
因为不同的公司可能会开发出有相同名字的程序集来,如果这些程序集都被复制到同一 个相同的目录下,
最后一个安装的程序集将会代替前面的程序集。这就是著名的Windows “DLL Hell”出现的原因。 
很明显,简单的用文件名来区分程序集是不够的,CLR需要支持某种机制来唯一的标识一个程序集。
这就是所谓的强命名程序集。 
一个强命名程序集包含四个唯一标志程序集的特性:文件名(没有扩展名),版本号,语言文化信息(如果有的话),公有秘钥。
*/

相关文章: