Utilisation d'assemblys et du cache de l'assembly global
Si vous comptez partager un assembly entre plusieurs applications, vous pouvez l'installer dans le cache de l'assembly global. Chaque ordinateur sur lequel le Common Language Runtime est installé possède ce cache de code. Le cache de l'assembly global stocke les assemblys spécialement destinés à être partagés entre plusieurs applications sur l'ordinateur. Pour être installé dans le cache de l'assembly global, un assembly doit avoir un nom fort.
Remarque Les assemblys placés dans le cache de l'assembly global doivent avoir le même nom d'assembly et le même nom de fichier (hormis l'extension de nom de fichier). Par exemple, un assembly avec le nom d'assembly myAssembly doit avoir le nom de fichier myAssembly.exe ou myAssembly.dll.
Vous ne devez partager des assemblys en les installant dans le cache de l'assembly global que lorsque cela est nécessaire. En règle générale, maintenez 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 cache de l'assembly global pour les rendre accessibles à COM Interop ou au code non managé.
Il est possible d'installer un assembly dans le cache de l'assembly global pour plusieurs raisons :
Emplacement partagé.
Les assemblys devant être utilisés par des applications peuvent être placés dans le cache de l'assembly global. Par exemple, si toutes les applications doivent utiliser un assembly placé dans le cache de l'assembly global, une instruction de stratégie de version peut être ajoutée au fichier Machine.config pour rediriger les références à l'assembly.
Sécurité des fichiers.
Les administrateurs protègent souvent le répertoire WINNT 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 cache de l'assembly global étant installé dans le répertoire WINNT, 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 cache de l'assembly global.
Versioning côte à côte.
Plusieurs copies des assemblys ayant le même nom mais avec des informations de version différentes peuvent être conservées dans le cache de l'assembly global.
Emplacement de recherche supplémentaire.
Le Common Language Runtime vérifie dans le cache de l'assembly global s'il existe un assembly correspondant à l'assembly demandé avant de tester ou d'utiliser les informations du code base dans un fichier de configuration.
Notez que dans certains scénarios, explicitement, vous ne souhaitez pas installer un assembly dans le cache de l'assembly global. Si vous placez l'un des assemblys composant une application dans le cache de l'assembly global, vous ne pouvez plus répliquer ou installer l'application en utilisant XCOPY pour copier le répertoire de l'application. Dans ce cas, vous devez également déplacer l'assembly dans le cache de l'assembly global.
Voir aussi
Création d'assemblys | Cache de l'assembly global | Installation d'un assembly dans le cache de l'assembly global | Visualisation du contenu du cache de l'assembly global | Suppression d'un assembly du cache de l'assembly global | Utilisation de composants de service avec le cache de l'assembly global | Visualisation du contenu des assemblys | Méthode de localisation des assemblys par le runtime | Programmation à l'aide d'assemblys