Utilisation d'assemblys et du Global Assembly CacheWorking with Assemblies and the Global Assembly Cache

Si vous prévoyez de partager un assembly entre plusieurs applications, vous pouvez l’installer dans le Global Assembly Cache.If you intend to share an assembly among several applications, you can install it into the global assembly cache. Chaque ordinateur où le common language runtime est installé a ce cache de code à l’échelle de l’ordinateur.Each computer where the common language runtime is installed has this machine-wide code cache. Le Global Assembly Cache stocke des assemblys spécialement destinés à être partagés entre plusieurs applications sur l’ordinateur.The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer. Un assembly doit avoir un nom fort pour être installé dans le Global Assembly Cache.An assembly must have a strong name to be installed in the global assembly cache.

Notes

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 l’extension du nom de fichier).Assemblies placed in the global assembly cache must have the same assembly name and file name (not including the file name extension). Par exemple, un assembly avec le nom d’assembly monAssembly doit avoir le nom de fichier monAssembly.exe ou monAssembly.dll.For example, an assembly with the assembly name of myAssembly must have a file name of either myAssembly.exe or myAssembly.dll.

Il est recommandé de partager des assemblys en les installant dans le Global Assembly Cache seulement quand c’est nécessaire.You should share assemblies by installing them into the global assembly cache only when necessary. Une règle générale est de conserver les dépendances d’assembly privées et de placer les assemblys dans le répertoire de l’application, sauf si le partage d’un assembly est explicitement nécessaire.As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. En outre, il n’est pas nécessaire d’installer des assemblys dans le Global Assembly Cache pour les rendre accessibles à COM Interop ou à du code non managé.In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code.

Vous pouvez souhaiter installer un assembly dans le Global Assembly Cache pour plusieurs raisons :There are several reasons why you might want to install an assembly into the global assembly cache:

  • Emplacement partagé.Shared location.

    Les assemblys qui doivent être utilisés par des applications peuvent être placés dans le Global Assembly Cache.Assemblies that should be used by applications can be put in the global assembly cache. Par exemple, si toutes les applications doivent utiliser un assembly qui se trouve dans le Global Assembly Cache, vous pouvez ajouter une instruction de stratégie de version au fichier Machine.config pour rediriger les références à l’assembly.For example, if all applications should use an assembly located in the global assembly cache, a version policy statement can be added to the Machine.config file that redirects references to the assembly.

  • Sécurité des fichiers.File security.

    Les administrateurs protègent souvent le répertoire systemroot en utilisant une liste de contrôle d’accès pour contrôler l’accès en écriture et en exécution.Administrators often protect the systemroot directory using an Access Control List (ACL) to control write and execute access. Le Global Assembly Cache étant installé dans le répertoire systemroot, il hérite de la liste de contrôle d’accès de ce répertoire.Because the global assembly cache is installed in the systemroot directory, it inherits that directory's ACL. Il est recommandé que seuls les utilisateurs disposant de privilèges d’administrateur soient autorisés à supprimer des fichiers du Global Assembly Cache.It is recommended that only users with Administrator privileges be allowed to delete files from the global assembly cache.

  • Contrôle de version côte à côte.Side-by-side versioning.

    Plusieurs copies des assemblys avec le même nom mais avec des informations de version différentes peuvent être conservées dans le Global Assembly Cache.Multiple copies of assemblies with the same name but different version information can be maintained in the global assembly cache.

  • Emplacements de recherche supplémentaires.Additional search location.

    Le common language runtime recherche dans le Global Assembly Cache un assembly qui correspond à l’assembly demandé avant de chercher ailleurs ou d’utiliser les informations du code base dans un fichier de configuration.The common language runtime checks the global assembly cache for an assembly that matches the assembly request before probing or using the codebase information in a configuration file.

Notez que dans certains scénarios, vous ne voulez explicitement pas installer un assembly dans le Global Assembly Cache.Note that there are scenarios where you explicitly do not want to install an assembly into the global assembly cache. Si vous placez un des assemblys composant une application dans le Global Assembly Cache, vous ne pouvez plus répliquer ni installer l’application en utilisant XCOPY pour copier le répertoire de l’application.If you place one of the assemblies that make up an application into the global assembly cache, you can no longer replicate or install the application by using XCOPY to copy the application directory. Dans ce cas, vous devez également déplacer l’assembly dans le Global Assembly Cache.In this case, you must also move the assembly into the global assembly cache.

Dans cette sectionIn This Section

Guide pratique pour installer un assembly dans le Global Assembly CacheHow to: Install an Assembly into the Global Assembly Cache
Décrit les façons d’installer un assembly dans le Global Assembly Cache.Describes the ways to install an assembly into the global assembly cache.

Guide pratique pour visualiser le contenu du Global Assembly Cache.How to: View the Contents of the Global Assembly Cache
Explique comment utiliser Gacutil.exe (outil Global Assembly Cache pour visualiser le contenu du Global Assembly Cache.Explains how to use the Gacutil.exe (Global Assembly Cache Tool) to view the contents of the global assembly cache.

Guide pratique pour supprimer un assembly du Global Assembly CacheHow to: Remove an Assembly from the Global Assembly Cache
Explique comment utiliser Gacutil.exe (outil Global Assembly Cache pour supprimer un assembly du Global Assembly Cache.Explains how to use the Gacutil.exe (Global Assembly Cache Tool) to remove an assembly from the global assembly cache.

Utilisation de composants de service avec le Global Assembly CacheUsing Serviced Components with the Global Assembly Cache
Explique pourquoi les composants traités (composants COM+ managés) doivent être placés dans le Global Assembly Cache.Explains why serviced components (managed COM+ components) should be placed in the global assembly cache.

Création d’assemblysCreating Assemblies
Fournit une vue d’ensemble de la création d’assemblys.Provides an overview of creating assemblies.

Global Assembly CacheGlobal Assembly Cache
Décrit le Global Assembly Cache.Describes the global assembly cache.

Guide pratique pour afficher le contenu d’un assemblyHow to: View Assembly Contents
Explique comment utiliser Ildasm.exe (Désassembleur IL) pour visualiser les informations du langage MSIL (Microsoft Intermediate Language) dans un assembly.Explains how to use the Ildasm.exe (IL Disassembler) to view Microsoft intermediate language (MSIL) information in an assembly.

Méthode de localisation des assemblys par le runtimeHow the Runtime Locates Assemblies
Décrit comment le common language runtime localise et charge les assemblys qui composent votre application.Describes how the common language runtime locates and loads the assemblies that make up your application.

Programmation à l’aide d’assemblysProgramming with Assemblies
Décrit les assemblys, les blocs de construction des applications managées.Describes assemblies, the building blocks of managed applications.