DossierRisque : Ne pas toucher
assembly C:\Windows\assembly
C:\Windows\assembly : Global Assembly Cache (GAC) historique du .NET Framework 1.x à 3.5. Celui du .NET Framework 4 est dans Microsoft.NET\assembly.
À quoi ça sert
Le Global Assembly Cache (GAC) est le cache de code partagé à l’échelle de la machine pour le Common Language Runtime. À partir du .NET Framework 4, son emplacement par défaut est %windir%\Microsoft.NET\assembly. Pour les versions 1.x à 3.5, c’est %windir%\assembly, c’est-à-dire ce dossier.
Ce qu’il contient
- Les assemblies .NET partagés par plusieurs applications, pour les versions 1.x à 3.5 du .NET Framework.
- Des sous-dossiers par type d’assembly (
GAC_MSIL,GAC_32,GAC_64) et des dossiersNativeImages_v...qui contiennent les images natives générées parngen.
Risques et bonnes pratiques
- N’y copiez rien à la main. L’installation passe par un installateur ou par
Gacutil.exe, un outil réservé au développement. - Supprimer un assembly partagé casse toutes les applications qui en dépendent. Réservez donc les droits de suppression aux administrateurs.
- Pour une application en .NET Framework 4 ou plus récent, regardez
%windir%\Microsoft.NET\assembly. Les versions .NET 6 et suivantes n’utilisent pas de GAC.
Commandes utiles
# Sous-dossiers du GAC historiqueGet-ChildItem "$env:windir\assembly" -Directory -Force | Select-Object Name
# GAC du .NET Framework 4 et suivantsGet-ChildItem "$env:windir\Microsoft.NET\assembly" -Directory -Force:: Depuis une invite de commandes développeur Visual Studio : lister les assemblies du GACgacutil -l