Partager via


Utilisation d'assemblys et du Global Assembly Cache

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.

Si vous envisagez de partager un assembly entre plusieurs applications, vous pouvez l’installer dans le Global Assembly Cache. Chaque ordinateur sur lequel le Common Language Runtime est installé dispose de ce cache de code à l’échelle de l’ordinateur. Le Global Assembly Cache stocke les assemblys spécifiquement désignés pour être partagés par plusieurs applications sur l’ordinateur. Un assembly doit avoir un nom fort pour être installé dans le Global Assembly Cache.

Remarque

Les assemblys placés dans le Global Assembly Cache doivent avoir le même nom d’assembly et le même nom de fichier (sans inclure l’extension de nom de fichier). Par exemple, un assembly portant le nom d’assembly de myAssembly doit avoir un nom de fichier de myAssembly.exe ou de myAssembly.dll.

Vous devez partager des assemblys en les installant dans le Global Assembly Cache uniquement si nécessaire. En règle générale, gardez les dépendances d’assembly privées et localisez les assemblys dans le répertoire de l’application, sauf si le partage d’un assembly est explicitement requis. En outre, vous n’avez pas besoin d’installer des assemblys dans le Global Assembly Cache pour les rendre accessibles à l’interopérabilité COM ou au code non managé.

Il existe plusieurs raisons pour lesquelles vous souhaiterez peut-être installer un assembly dans le Global Assembly Cache :

  • Emplacement partagé.

    Les assemblys qui doivent être utilisés par les applications peuvent être placés dans le Global Assembly Cache. Par exemple, si toutes les applications doivent utiliser un assembly situé dans le Global Assembly Cache, une instruction de stratégie de version peut être ajoutée au fichier Machine.config qui redirige les références vers l’assembly.

  • Sécurité des fichiers.

    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 le 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.

  • Contrôle de version côte à côte.

    Plusieurs copies d’assemblys portant le même nom, mais différentes informations de version peuvent être conservées dans le Global Assembly Cache.

  • Emplacement de recherche supplémentaire.

    Le Common Language Runtime vérifie le Global Assembly Cache pour un assembly qui correspond à la demande d’assembly avant de rechercher ou d’utiliser les informations codebase dans un fichier de configuration.

Notez qu’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 XCOPY pour copier le répertoire de l’application. Dans ce cas, vous devez également déplacer l’assembly dans le Global Assembly Cache.

Dans cette section

Guide pratique pour installer un assembly dans global Assembly Cache Décrit les façons d’installer un assembly dans le Global Assembly Cache.

Guide pratique pour afficher le contenu du Global Assembly Cache Explique comment utiliser l' Gacutil.exe (Outil Global Assembly Cache) pour afficher le contenu du Global Assembly Cache.

Procédure : supprimer un assembly du Global Assembly Cache Explique comment utiliser l' Gacutil.exe (Outil Global Assembly Cache) pour supprimer un assembly du Global Assembly Cache.

Utilisation de composants serviced avec le Global Assembly Cache Explique pourquoi les composants serviced (composants COM+ managés) doivent être placés dans le Global Assembly Cache.

Création d’assemblys Fournit une vue d’ensemble de la création d’assemblys.

Global Assembly Cache Décrit le global assembly cache.

Guide pratique pour afficher le contenu de l’assembly Explique comment utiliser le Ildasm.exe (désassembleur IL) pour afficher les informations CIL (Common Intermediate Language) dans un assembly.

Comment le runtime localise les assemblys Décrit comment le Common Language Runtime localise et charge les assemblys qui composent votre application.

Programmation avec des assemblys Décrit les assemblys, les blocs de construction des applications managées.