Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Cet article est spécifique à .NET Framework. Elle ne s’applique pas aux implémentations plus récentes de .NET, notamment .NET 6 et versions ultérieures.
Chaque ordinateur sur lequel le Common Language Runtime est installé dispose d’un cache de code à l’échelle de l’ordinateur appelé Global Assembly Cache. Le Global Assembly Cache stocke les assemblys spécifiquement désignés pour être partagés par plusieurs applications sur l’ordinateur.
Vous devez partager des assemblys en les installant dans le Global Assembly Cache uniquement lorsque vous devez le faire. En règle générale, vous devez maintenir les dépendances d’assembly privées et rechercher les assemblys dans le répertoire de l’application, sauf si le partage d’un assembly est explicitement requis. En outre, il n’est pas nécessaire d’installer des assemblys dans le Global Assembly Cache pour les rendre accessibles à l’interopérabilité COM ou au code non managé.
Remarque
Il existe des scénarios où vous ne souhaitez pas installer explicitement d’assembly dans le Global Assembly Cache. Si vous placez l’un des assemblys qui composent une application dans le Global Assembly Cache, vous ne pouvez plus répliquer ou installer l’application à l’aide de la xcopy commande pour copier le répertoire de l’application. Vous devez également déplacer l’assembly dans le Global Assembly Cache.
Il existe deux façons de déployer un assembly dans le Global Assembly Cache :
Utilisez un programme d’installation conçu pour fonctionner avec global Assembly Cache. Il s'agit de l'option recommandée pour l'installation des assemblies dans le cache global d'assemblage.
Utilisez un outil de développement appelé l’outil Global Assembly Cache (Gacutil.exe), fourni par le Kit de développement logiciel (SDK) Windows.
Remarque
Dans les scénarios de déploiement, utilisez Windows Installer pour installer des assemblys dans le Global Assembly Cache. Utilisez l’outil Global Assembly Cache uniquement dans les scénarios de développement, car il ne fournit pas de comptage de références d’assembly et d’autres fonctionnalités fournies lors de l’utilisation de Windows Installer.
À compter du .NET Framework 4, l’emplacement par défaut du Global Assembly Cache est %windir%\Microsoft.NET\assembly. Dans les versions antérieures du .NET Framework, l’emplacement par défaut est %windir%\assembly.
Les administrateurs protègent souvent le répertoire systemroot à l’aide d’une liste de contrôle d’accès (ACL) pour contrôler l’écriture et l’exécution de l’accès. Étant donné que le Global Assembly Cache est installé dans un sous-répertoire du répertoire systemroot, il hérite de la liste de contrôle d’accès 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, les vérifications d’intégrité sont effectuées sur tous les fichiers qui composent l’assembly. Le cache effectue ces vérifications d’intégrité pour s’assurer qu’un assembly n’a pas été falsifié, par exemple lorsqu’un fichier a changé, mais que le manifeste ne reflète pas la modification.