2010-10-07 265 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之前,網絡共享上的程序集是不可信的,並且無法執行諸如訪問文件系統等內容。