Global Assembly Cache (GAC)

Auteur: Peter Berry
Date De Création: 19 Août 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
What is GAC  How and when to install an assembly into GAC
Vidéo: What is GAC How and when to install an assembly into GAC

Contenu

Définition - Que signifie Global Assembly Cache (GAC)?

Le Global Assembly Cache (GAC) est un dossier du répertoire Windows dans lequel sont stockés les assemblys .NET spécifiquement désignés pour être partagés par toutes les applications exécutées sur un système.


Le concept de GAC est le résultat de l'architecture .NET dont la conception répond au problème de "l'enfer de la DLL" qui existait dans COM (Component Object Model). Contrairement à COM, il n’est pas nécessaire que l’assemblage dans GAC soit enregistré avant son utilisation. L'accès à chaque assemblage est global, sans aucun conflit, en identifiant son nom, sa version, son architecture, sa culture et sa clé publique.

Introduction à Microsoft Azure et au nuage Microsoft | Tout au long de ce guide, vous apprendrez ce qu'est le cloud computing et comment Microsoft Azure peut vous aider à migrer et à exploiter votre entreprise à partir du cloud.

Techopedia explique Global Assembly Cache (GAC)

Le GAC est un cache de code à l'échelle de la machine utilisé pour l'exécution côte à côte d'assemblys. GAC implémente la fonctionnalité de bibliothèque partagée dans laquelle différentes applications réutilisent le code placé dans les fichiers situés dans un dossier commun. Dans .NET 4.0, son emplacement par défaut est:% windir% Microsoft.NET assembly

Le GAC est également le premier du chemin de recherche lors du chargement d’un assembly .NET. La seule exigence pour qu'un assemblage soit déployé dans GAC est qu'il doit avoir un nom fort. Le CLR (Common Language Runtime) fait référence à un assemblage basé sur une version spécifique mentionnée par l'application appelante. Le système de fichiers virtuel de GAC permet d'extraire l'assembly spécifique à la version.

Les deux outils liés à GAC sont GAC Tool (gacutil.exe) et Assembly Cache Viewer (shfusion.dll). GAC Tool est utilisé pour vérifier l'existence d'un assemblage, enregistrer un assemblage partagé, afficher et manipuler le contenu de GAC, etc. En tant que dossier système, il nécessite l'utilisation de privilèges d'administrateur. La visionneuse de cache d'assemblage est utilisée pour afficher les détails (version, culture, etc.) associés aux assemblys contenus dans le cache.

GAC offre les avantages de la réutilisation du code, de la sécurité des fichiers (en raison de son installation dans le répertoire 'systemroot' et, par conséquent, de la suppression uniquement par les utilisateurs disposant des privilèges de l'administrateur), d'une exécution côte à côte (autorisant plusieurs versions d'un assemblage conservées dans le même dossier). ), etc.

L'un des inconvénients de l'utilisation de GAC est que la version de .NET Framework installée sur le système sur lequel GAC est utilisé et celle utilisée pour compiler l'application doivent être identiques. En outre, les noms forts ne peuvent pas être appliqués aux assemblys (tels que le code tiers) dont dépendent les assemblys résidant dans le dossier GAC.