2

面试时,面试官问了这个关于全局程序集缓存(GAC)的问题,我很困惑。答案应该是什么?

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

编辑: 问题 2:考虑有 4 台支持视觉工作室的开发机器。其中,一个是作为服务器。那么其他机器(除了服务器机器)可以在服务器机器的 GAC 中使用程序集吗?

4

2 回答 2

2

GAC 中托管的程序集正式称为共享程序集或全局程序集(请不要与您的共享程序集混淆)。将程序集放在 GAC 中的一个优点是版本控制,当程序集在 GAC 中时,可以与同一程序集的另一个版本共存,尽管具有相同的文件名,但通过内部签名来区分,其中包含一个强大的名字。 请看这个链接

于 2010-10-08T01:06:05.587 回答
1

GAC 中的程序集以完全信任的方式运行。任何文件系统中任何位置的程序集都属于某些可能阻止它们运行的​​安全准则。例如,在 .net 3.5 SP1 之前,网络共享上的程序集是不受信任的,并且无法执行访问文件系统之类的操作。

于 2010-10-08T01:16:44.113 回答