2010-10-07 268 views
2

面试时,面试官问了关于Global Assembly Cache(GAC)的这个问题后,我感到困惑。应该是什么答案?关于GAC的困惑

问题1: 如果我们创建目录并保留我们的程序集,并且如果我们将该目录设置为共享,那么连接的计算机可以使用这些程序集,而不是将程序集保留在GAC中?如果我在GAC和共享文件夹中进行汇编,有什么区别?

编辑: 问题2: 考虑有4台Visual Studio的开发启动机器。其中,一个用作服务器。那么其他机器(服务器机器除外)是否可以在服务器机器的GAC中使用程序集?

回答

2

在GAC中托管的程序集正式称为共享程序集或全局程序集(请勿混淆您的共享程序集)。在GAC中放置程序集的一个优点是版本控制,而程序集位于GAC中,可以与另一个版本的相同程序集共存,尽管它们具有相同的文件名,但它的区别在于内部签名,它包含一个强大的名字。 Please see this link

1

GAC中的组件以Full Trust运行。任何文件系统中的任何位置的组件均属于可能阻止它们运行的​​某些安全指南。例如,在.net 3.5 SP1之前,网络共享上的程序集是不可信的,并且无法执行诸如访问文件系统等内容。