Ignorer les liens de navigationAccueil : Introduction au Framework .NET : Architecture d'une application .NET : Structure du GAC Ignorer les liens de navigation
Accueil
Introduction au Framework .NETDévelopper Introduction au Framework .NET
Le langage C#Développer Le langage C#
Programmation orientée objetsDévelopper Programmation orientée objets
CollectionsDévelopper Collections
ADO.NETDévelopper ADO.NET
LINQDévelopper LINQ
ASP.NETDévelopper ASP.NET
Workflow FoundationDévelopper Workflow Foundation
Besoins de prestationDévelopper Besoins de prestation

Structure du GAC

De quelle manière sont stockés les assemblages dans le dossier \Windows\Assembly ? Pour répondre à cette question, nous allons utiliser l’invite de commande. Tous les assemblages sont stockés dans une arborescence bien définie.

C:\>cd \Windows\assembly

C:\Windows\assembly>dir
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 94E0-9E4D

 Répertoire de C:\Windows\assembly

09/10/2006  21:46    <REP>          GAC
09/10/2006  21:53    <REP>          GAC_32
24/10/2006  01:02    <REP>          GAC_MSIL
09/10/2006  22:18    <REP>          NativeImages_v2.0.50727_32
09/10/2006  01:25    <REP>          temp
24/10/2006  01:40    <REP>          tmp
               0 fichier(s)                0 octets
               6 Rép(s)  17 033 154 560 octets libres

C:\Windows\assembly>cd GAC_MSIL

C:\Windows\assembly\GAC_MSIL>dir

C:\Windows\assembly\GAC_MSIL>dir /p
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 94E0-9E4D

 Répertoire de C:\Windows\assembly\GAC_MSIL

24/10/2006  01:02    <REP>          .
24/10/2006  01:02    <REP>          ..
30/08/2006  12:34    <REP>          Accessibility
30/08/2006  12:34    <REP>          AspNetMMCExt
30/08/2006  18:15    <REP>          AspNetMMCExt.resources
24/10/2006  01:40    <REP>          CalculatriceDLL
30/08/2006  02:07    <REP>          ComSvcConfig
09/10/2006  21:46    <REP>          CppCodeProvider
09/10/2006  21:45    <REP>          CRVsPackageLib
09/10/2006  21:45    <REP>          CrystalDecisions.CrystalReports.Design
...


C:\Windows\assembly\GAC_MSIL>cd CalculatriceDLL

C:\Windows\assembly\GAC_MSIL\CalculatriceDLL>dir
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 94E0-9E4D

 Répertoire de C:\Windows\assembly\GAC_MSIL\CalculatriceDLL

24/10/2006  01:40    <REP>          .
24/10/2006  01:40    <REP>          ..
24/10/2006  01:02    <REP>          2.0.0.0__1d15b8f772a49f60
24/10/2006  01:40    <REP>          3.0.0.0__1d15b8f772a49f60
               0 fichier(s)                0 octets
               4 Rép(s)  17 033 089 024 octets libres

C:\Windows\assembly\GAC_MSIL\CalculatriceDLL>cd 2.0.0.0__1d15b8f772a49f60

C:\Windows\assembly\GAC_MSIL\CalculatriceDLL\2.0.0.0__1d15b8f772a49f60>dir
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 94E0-9E4D

 Répertoire de C:\Windows\assembly\GAC_MSIL\CalculatriceDLL\2.0.0.0__1d15b8f772a
49f60

24/10/2006  01:02    <REP>          .
24/10/2006  01:02    <REP>          ..
24/10/2006  01:02            16 384 CalculatriceDLL.dll
               1 fichier(s)           16 384 octets
               2 Rép(s)  17 033 089 024 octets libres


Le répertoire GAC contient les assemblages qui ont été crées pour les versions 1.0 et 1.1 du framework. Le répertoire GAC_MSIL contient les assemblages qui concernent les versions 2.0, 3.0 et 3.5 du framework. GAC_32 contient les assemblages x86 natifs.

Si on affiche le répertoire assembly avec l’explorateur Windows, nous obtenons le résultat suivant :

Formation VB.NET

En faisant un glisser-déplacer dans le répertoire, on peut installer très facilement un assemblage.

Le shell Windows est modifié pour masquer la représentation du GAC. Pour désactiver le Shell Windows, il faut créer une clé dans le registre de type DWORD nommée DisableCacheViewer dans HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion et positionner sa valeur à 1.

Le résultat obtenu est le suivant :

//