2010-10-07 6 views
2

Pendant l'entrevue, j'ai été troublé après que l'intervieweur ait posé cette question à propos de Global Assembly Cache (GAC). Quelle devrait être la réponse? Au lieu de conserver l'assembly dans GAC, si nous créons le répertoire et y conservons nos assemblages et si nous rendons ce répertoire partagé, les ordinateurs connectés peuvent-ils utiliser ces assemblages? Quelle est la différence si je continue à assembler dans GAC et dans un dossier partagé?Confusion au sujet de GAC

Modifié: Question 2: Tenir compte il y a 4 studios visuels a permis machines de développement. parmi ceux-ci, est utilisé comme serveur. Est-ce que d'autres machines (autres que les serveurs) peuvent utiliser des assemblages dans le GAC de la machine serveur?

Répondre

2

Les assemblys hébergés dans le GAC sont officiellement appelés assemblys partagés ou assemblys globaux (veuillez ne pas confondre avec vos assemblys partagés). Un des avantages de placer un assembly dans le GAC est le contrôle de version, alors que l'assembly est dans le GAC, peut coexister avec une autre version du même assembly, bien que ayant le même nom de fichier, il se distingue par la signature interne, qui contient un nom fort. Please see this link

1

Les assemblys dans le GAC sont exécutés avec Trust total. Les assemblages de n'importe quel système de fichiers sont soumis à certaines règles de sécurité qui peuvent les empêcher de fonctionner. Par exemple, avant .net 3.5 SP1, les assemblages sur un partage réseau n'étaient pas fiables et ne pouvaient pas faire des choses comme l'accès au système de fichiers.