私有和共享程序集的使用
时间:2014-5-1
1.私有程序集
默认情况下,程序集对于项目而言是私有的,私有程序集必须与应用程序位于相同的目录中,
Shapes.dll程序集是私有的,为了在ShapeUser项目中引用它,可以在VS2005中添加引用时,从ShapeUser项目浏览ShapeUser开发目录-在这种情况下,VS2005生成了Shapers.dll私有副本,并将其放在ShapeUser目录中.
复制Shapes.dll程序集可以伪证,即使由于连续的开发工作而无法使用初始的Shapes.dll也可以运行ShapeUser.但是复制每一个被引用的DLL,对于使用广泛的组件来说效率不高,因此.NET Framework提供了共享程序集.
2.共享程序集
共享程序集可以用于系统上的所有程序,由于所有的共享和谁订都存储在一个特殊.net目录Global Assembly Cache(全局程序集调整缓存,GAC)中,所以程序无需知道共享程序集的位置,在系统范围都可以使用共享程序集,所以.NET运行库在共享程序集上强制进行几种额外的检查工作,以保证共享程序集可以用于所有请求它们的程序,比如安全性和版本兼容问题.