Windows -Gérer le GAC
5 janv. 2016
Global Assembly Cache permet de centraliser des DLLs dans un dossier unique.
Microsoft met notamment ses DLL du framework .net dedans, c’est le premier dossier qui est analysé (avant même l’emplacement d’exécution) lorsqu’il recherche une référence.
Il n’est pas conseillé de placer vos DLLs dans le GAC car ce dernier ne gère qu’une seule version de DLL. Et en plus Microsoft le déconseille... Cependant il est possible de le faire en utilisant les outils mis à disposition par Visual Studio https://msdn.microsoft.com/fr-fr/library/aa560649.aspx
Pour cela ouvrez la console Visual Studio et saisissez
On retrouve la liste des DLLs
On peut activer la vue en dossier en modifiant une clé dans la base de registre HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Fusion
En vous rendant dans le dossier vous remarquez qu’il existe aussi un dossier GAC_32 et GAC_64. Cela dépend du flag dans le header de la DLL, pour cela il faut modifier le type de la plateforme dans Visual Studio :
blog comments powered by Disqus
Microsoft met notamment ses DLL du framework .net dedans, c’est le premier dossier qui est analysé (avant même l’emplacement d’exécution) lorsqu’il recherche une référence.
Il n’est pas conseillé de placer vos DLLs dans le GAC car ce dernier ne gère qu’une seule version de DLL. Et en plus Microsoft le déconseille... Cependant il est possible de le faire en utilisant les outils mis à disposition par Visual Studio https://msdn.microsoft.com/fr-fr/library/aa560649.aspx
Pour cela ouvrez la console Visual Studio et saisissez
gacutil –i nomAssembly.dll
On retrouve la liste des DLLs
- .NET < 4.0 => C:\windows\assembly\GAC_MSIL
- .Net > 4.0 => C:\windows\Microsoft.NET\assembly\GAC_MSIL
On peut activer la vue en dossier en modifiant une clé dans la base de registre HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Fusion
DisableCacheViewer = 1
En vous rendant dans le dossier vous remarquez qu’il existe aussi un dossier GAC_32 et GAC_64. Cela dépend du flag dans le header de la DLL, pour cela il faut modifier le type de la plateforme dans Visual Studio :
- GAC32 => x86 DLL
- GAC64 => x64 DLL
- GAC_MSIL => anyCPU DLL