Global Assembly Cache

Chaque ordinateur sur lequel le Common Language Runtime est installé possède un cache de code à l'échelle de l'ordinateur appelé Global Assembly Cache. Le Global Assembly Cache stocke les assemblys spécialement destinés à être partagés entre plusieurs applications sur l'ordinateur.

Vous ne devez partager des assemblys en les installant dans le Global Assembly Cache qu'en cas de nécessité. En règle générale, vous devez garder les dépendances d'assembly privées et rechercher les assemblys dans le répertoire de l'application, à moins que le partage d'un assembly soit explicitement requis. En outre, il n'est pas nécessaire d'installer des assemblys dans le Global Assembly Cache pour les rendre accessibles à COM Interop ou au code non managé.

RemarqueRemarque

Il existe des scénarios au cours desquels vous ne souhaitez explicitement pas installer un assembly dans le Global Assembly Cache.Si vous placez l'un des assemblys composant une application dans le Global Assembly Cache, vous ne pouvez plus répliquer ou installer l'application en utilisant la commande xcopy pour copier le répertoire de l'application.Vous devez également déplacer l'assembly dans le Global Assembly Cache.

Il existe deux modes de déploiement d'un assembly dans le Global Assembly Cache :

  • Utilisez un programme d'installation conçu pour fonctionner avec le Global Assembly Cache. Il s'agit de l'option par défaut d'installation d'assemblys dans le Global Assembly Cache.

  • Utilisez un outil de développement appelé Outil Global Assembly Cache Tool (Gacutil.exe) fourni avec le Kit de développement logiciel (SDK) Windows.

  • RemarqueRemarque

    Au cours de scénarios de déploiement, utilisez Windows Installer 2.0 pour installer des assemblys dans le Global Assembly Cache.Utilisez l'Explorateur Windows ou l'outil Global Assembly Cache Tool uniquement au cours de scénarios de développement, car il ne propose pas de fonctionnalités de décompte de références d'assembly ou d'autres fonctionnalités disponibles lors de l'utilisation de Windows Installer.

Les administrateurs protègent souvent le répertoire systemroot en utilisant une liste de contrôle d'accès (ACL, Access Control List) pour contrôler l'accès en écriture et en exécution. Le Global Assembly Cache étant installé dans un sous-répertoire du répertoire systemroot, il hérite de la liste de contrôle d'accès (ACL) de ce répertoire. Il est recommandé que seuls les utilisateurs disposant de privilèges d'administrateur soient autorisés à supprimer des fichiers du Global Assembly Cache.

Les assemblys déployés dans le Global Assembly Cache doivent avoir un nom fort. Lorsqu'un assembly est ajouté au Global Assembly Cache, des contrôles d'intégrité sont effectués sur tous les fichiers qui composent l'assembly. Le cache effectue ces contrôles d'intégrité pour vérifier qu'aucun assembly n'a été falsifié, par exemple, lorsqu'un fichier a été modifié, mais que le manifeste ne reflète pas cette modification.

Voir aussi

Concepts

Assemblys dans le Common Language Runtime

Assemblys avec nom fort

Autres ressources

Utilisation d'assemblys et du Global Assembly Cache

Historique des modifications

Date

Historique

Motif

Juin 2010

Suppression de la mention de l'extension de shell, qui est obsolète à partir du .NET Framework version 4.

Résolution des bogues de contenu.