Gacutil.exe (outil Global Assembly Cache)Gacutil.exe (Global Assembly Cache Tool)

L'outil Global Assembly Cache vous permet d'afficher et de manipuler le contenu du Global Assembly Cache et du cache de téléchargement.The Global Assembly Cache tool allows you to view and manipulate the contents of the global assembly cache and download cache.

Cet outil est installé automatiquement avec Visual Studio.This tool is automatically installed with Visual Studio. Pour exécuter l’outil, utilisez l’invite de commandes développeur pour Visual Studio (ou l’invite de commandes Visual Studio dans Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Pour plus d'informations, consultez Invites de commandes.For more information, see Command Prompts.

À l'invite de commandes, tapez le texte suivant :At the command prompt, type the following:

SyntaxeSyntax

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

ParamètresParameters

ArgumentArgument DescriptionDescription
assemblyNameassemblyName Nom d'un assembly.The name of an assembly. Vous pouvez indiquer un nom d'assembly partiellement spécifié, tel que myAssembly ou un nom d'assembly complètement spécifié, tel que myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.You can supply either a partially specified assembly name such as myAssembly or a fully specified assembly name such as myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPathassemblyPath Nom d'un fichier comportant un manifeste d'assembly.The name of a file that contains an assembly manifest.
assemblyListFileassemblyListFile Chemin d’accès à un fichier texte ANSI qui répertorie des assemblys à installer ou à désinstaller.The path to an ANSI text file that lists assemblies to install or uninstall. Pour utiliser un fichier texte afin d’installer des assemblys, spécifiez le chemin d’accès de chaque assembly sur une ligne distincte dans le fichier.To use a text file to install assemblies, specify the path to each assembly on a separate line in the file. L’outil interprète des chemins relatifs à l’emplacement de assemblyListFile.The tool interprets relative paths, relative to the location of the assemblyListFile. Pour utiliser un fichier texte afin de désinstaller des assemblys, indiquez le nom qualifié complet de chaque assembly sur une ligne distincte dans le fichier.To use a text file to uninstall assemblies, specify the fully qualified assembly name for each assembly on a separate line in the file. Consultez les exemples de contenu de assemblyListFile plus loin dans cette rubrique.See the assemblyListFile contents examples later in this topic.
OptionOption DescriptionDescription
/cdl/cdl Supprime le contenu du cache de téléchargement.Deletes the contents of the download cache.
/f/f Spécifiez cette option avec les options /i ou /il pour forcer la réinstallation d’un assembly.Specify this option with the /i or /il options to force an assembly to reinstall. Si un assembly portant le même nom existe déjà dans le Global Assembly Cache, l'outil le remplace.If an assembly with the same name already exists in the global assembly cache, the tool overwrites it.
/h[elp]/h[elp] Affiche la syntaxe et les options de commande de l'outil.Displays command syntax and options for the tool.
/i assemblyPath/i assemblyPath Installe un assembly dans le Global Assembly Cache.Installs an assembly into the global assembly cache.
/if assemblyPath/if assemblyPath Installe un assembly dans le Global Assembly Cache.Installs an assembly into the global assembly cache. Si un assembly portant le même nom existe déjà dans le Global Assembly Cache, l'outil le remplace.If an assembly with the same name already exists in the global assembly cache, the tool overwrites it.

La spécification de cette option revient à spécifier les options /i et /f ensemble.Specifying this option is equivalent to specifying the /i and /f options together.
/il assemblyListFile/il assemblyListFile Installe un ou plusieurs assemblys spécifiés dans assemblyListFile dans le Global Assembly Cache.Installs one or more assemblies specified in assemblyListFile into the global assembly cache.
/ir assemblyPath/ir assemblyPath

schemescheme

IDid

descriptiondescription
Installe un assembly dans le Global Assembly Cache et ajoute une référence pour compter l'assembly.Installs an assembly into the global assembly cache and adds a reference to count the assembly. Vous devez spécifier les paramètres assemblyPath, scheme, id et description avec cette option.You must specify the assemblyPath, scheme, id,and description parameters with this option. Pour obtenir une description des valeurs valides que vous pouvez spécifier pour ces paramètres, consultez l’option /r.For a description of the valid values you can specify for these parameters, see the /r option.

La spécification de cette option revient à spécifier les options /i et /r ensemble.Specifying this option is equivalent to specifying the /i and /r options together.
/l [assemblyName]/l [assemblyName] Affiche le contenu du Global Assembly Cache.Lists the contents of the global assembly cache. Si vous spécifiez le paramètre assemblyName, l’outil ne répertorie que les assemblys correspondant à ce nom.If you specify the assemblyName parameter, the tool lists only the assemblies matching that name.
/ldl/ldl Répertorie le contenu du cache de fichiers téléchargés.Lists the contents of the downloaded files cache.
/lr [assemblyName]/lr [assemblyName] Répertorie tous les assemblys et leurs décomptes de références correspondants.Lists all assemblies and their corresponding reference counts. Si vous spécifiez le paramètre assemblyName, l’outil ne répertorie que les assemblys correspondant à ce nom et leurs décomptes de références correspondants.If you specify the assemblyName parameter, the tool lists only the assemblies matching that name and their corresponding reference counts.
/nologo/nologo Supprime l'affichage de la bannière de démarrage Microsoft.Suppresses the Microsoft startup banner display.
/r [assemblyName | assemblyPath]/r [assemblyName | assemblyPath]

schemescheme

IDid

descriptiondescription
Spécifie une référence avec trace à un assembly ou des assemblys à installer ou à désinstaller.Specifies a traced reference to an assembly or assemblies to install or uninstall. Spécifiez cette option avec les options /i, /il, /u ou /ul.Specify this option with the /i, /il, /u, or /ul options.

Pour installer un assembly, spécifiez les paramètres assemblyPath, scheme, id et description avec cette option.To install an assembly, specify the assemblyPath, scheme, id,and description parameters with this option. Pour désinstaller un assembly, spécifiez les paramètres assemblyName, scheme, id et description.To uninstall an assembly, specify the assemblyName, scheme, id,and description parameters.

Pour supprimer une référence à un assembly, vous devez spécifier les mêmes paramètres scheme, id et description que ceux spécifiés avec les options /i et /r (ou /ir) lors de l’installation de l’assembly.To remove a reference to an assembly, you must specify the same scheme, id, and description parameters that were specified with the /i and /r (or /ir) options when the assembly was installed. Si vous désinstallez un assembly, l'outil supprime également l'assembly du Global Assembly Cache s'il s'agit de la dernière référence à supprimer et si Windows Installer ne possède aucune référence en suspens à l'assembly.If you are uninstalling an assembly, the tool also removes the assembly from the global assembly cache if it is the last reference to remove and if Windows Installer has no outstanding references to the assembly.

Le paramètre scheme spécifie le type de schéma d’installation.The scheme parameter specifies the type of installation scheme. Vous pouvez spécifier l'une des valeurs suivantes :You can specify one of the following values:

-UNINSTALL_KEY : spécifiez cette valeur si le programme d’installation ajoute l’application à Ajout/suppression de programmes dans Microsoft Windows.- UNINSTALL_KEY: Specify this value if the installer adds the application to Add/Remove Programs in Microsoft Windows. Les applications s'ajoutent elles-mêmes à Ajout/Suppression de programmes en ajoutant une clé de Registre à HKLM\Software\Microsoft\Windows\CurrentVersion.Applications add themselves to Add/Remove Programs by adding a registry key to HKLM\Software\Microsoft\Windows\CurrentVersion.
-FILEPATH : spécifiez cette valeur si le programme d’installation n’ajoute pas l’application à Ajout/suppression de programmes.- FILEPATH: Specify this value if the installer does not add the application to Add/Remove Programs.
-OPAQUE : spécifiez cette valeur si la spécification d’une clé de registre ou d’un chemin d’accès de fichier ne s’applique pas à votre scénario d’installation.- OPAQUE: Specify this value if supplying a registry key or file path does not apply to your installation scenario. Cette valeur vous permet de spécifier des informations personnalisées pour le paramètre id.This value allows you to specify custom information for the id parameter.

La valeur à spécifier pour le paramètre id dépend de la valeur spécifiée pour le paramètre scheme :The value to specify for the id parameter depends on the value specified for the scheme parameter:

- Si vous spécifiez UNINSTALL_KEY pour le paramètre scheme, spécifiez le nom de l’application défini dans la clé de Registre HKLM\Software\Microsoft\Windows\CurrentVersion.- If you specify UNINSTALL_KEY for the scheme parameter, specify the name of the application set in the HKLM\Software\Microsoft\Windows\CurrentVersion registry key. Par exemple, si la clé de Registre est HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, spécifiez MyApp pour le paramètre id.For example, if the registry key is HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, specify MyApp for the id parameter.
- Si vous spécifiez FILEPATH pour le paramètre scheme, spécifiez le chemin complet du fichier exécutable qui installe l’assembly en tant que paramètre id.- If you specify FILEPATH for the scheme parameter, specify the full path to the executable file that installs the assembly as the id parameter.
- Si vous spécifiez OPAQUE pour le paramètre scheme, vous pouvez fournir n’importe quelles données en tant que paramètre id.- If you specify OPAQUE for the scheme parameter, you can supply any piece of data as the id parameter. Les données que vous spécifiez doivent être mises entre guillemets ("").The data you specify must be enclosed in quotation marks ("").

Le paramètre description vous permet de spécifier un texte descriptif concernant l’application à installer.The description parameter allows you to specify descriptive text about the application to install. Ces informations sont affichées lorsque des références sont énumérées.This information is displayed when references are enumerated.
/silent/silent Supprime l'affichage de toutes les sorties.Suppresses the display of all output.
/u assemblyName/u assemblyName Désinstalle un assembly du Global Assembly Cache.Uninstalls an assembly from the global assembly cache.
/uf assemblyName/uf assemblyName Force la désinstallation d'un assembly spécifié en supprimant toutes les références à cet assembly.Forces a specified assembly to uninstall by removing all references to the assembly.

La spécification de cette option revient à spécifier les options /u et /f ensemble.Specifying this option is equivalent to specifying the /u and /f options together. Remarque : Vous ne pouvez pas utiliser cette option pour supprimer un assembly installé à l’aide de Microsoft Windows Installer.Note: You cannot use this option to remove an assembly that was installed using Microsoft Windows Installer. Si vous tentez cette opération, l'outil affiche un message d'erreur.If you attempt this operation, the tool displays an error message.
/ul assemblyListFile/ul assemblyListFile Désinstalle un ou plusieurs assemblys spécifiés dans assemblyListFile du Global Assembly Cache.Uninstalls one or more assemblies specified in assemblyListFile from the global assembly cache.
/u[ngen] assemblyName/u[ngen] assemblyName Désinstalle un assembly spécifié du Global Assembly Cache.Uninstalls a specified assembly from the global assembly cache. S'il existe des décomptes de références pour l'assembly spécifié, l'outil les affiche et ne supprime pas l'assembly du Global Assembly Cache.If the specified assembly has existing reference counts, the tool displays the reference counts and does not remove the assembly from the global assembly cache. Remarque : Dans le .NET Framework version 2.0, /ungen n’est pas pris en charge.Note: In the .NET Framework version 2.0, /ungen is not supported. Utilisez plutôt la commande uninstall de Ngen.exe (Native Image Generator).Instead, use the uninstall command of the Ngen.exe (Native Image Generator).

Dans le .NET Framework versions 1.0 et 1.1, la spécification de /ungen conduit Gacutil.exe à supprimer l’assembly du cache des images natives.In the .NET Framework versions 1.0 and 1.1, specifying /ungen causes Gacutil.exe to remove the assembly from the native image cache. Ce cache stocke les images natives pour les assemblys qui ont été créés à l’aide de Ngen.exe (Native Image Generator).This cache stores the native images for assemblies that have been created using the Ngen.exe (Native Image Generator).
/ur assemblyName/ur assemblyName

schemescheme

IDid

descriptiondescription
Désinstalle une référence à un assembly spécifié du Global Assembly Cache.Uninstalls a reference to a specified assembly from the global assembly cache. Pour supprimer une référence à un assembly, vous devez spécifier les mêmes paramètres scheme, id et description que ceux spécifiés avec les options /i et /r (ou /ir) lors de l’installation de l’assembly.To remove a reference to an assembly, you must specify the same scheme, id, and description parameters that were specified with the /i and /r (or /ir) options when the assembly was installed. Pour obtenir une description des valeurs valides que vous pouvez spécifier pour ces paramètres, consultez l’option /r.For a description of the valid values you can specify for these parameters, see the /r option.

La spécification de cette option revient à spécifier les options /u et /r ensemble.Specifying this option is equivalent to specifying the /u and /r options together.
/?/? Affiche la syntaxe et les options de commande de l'outil.Displays command syntax and options for the tool.

NotesRemarks

Notes

Vous devez disposer des droits d'administrateur pour utiliser Gacutil.exe.You must have administrator privileges to use Gacutil.exe.

Gacutil.exe vous permet plus particulièrement d'installer des assemblys dans le cache, d'en supprimer du cache et de répertorier le contenu du cache.Specifically, Gacutil.exe allows you to install assemblies into the cache, remove them from the cache, and list the contents of the cache.

Gacutil.exe fournit des options qui prennent en charge le décompte de références similaire au modèle de décompte de références pris en charge par Windows Installer.Gacutil.exe provides options that support reference counting similar to the reference counting scheme supported by Windows Installer. Vous pouvez utiliser Gacutil.exe pour installer deux applications qui installent le même assembly ; l'outil garde la trace du nombre de références à l'assembly.You can use Gacutil.exe to install two applications that install the same assembly; the tool keeps track of the number of references to the assembly. L'assembly reste donc sur l'ordinateur jusqu'à ce que les deux applications soient désinstallées.As a result, the assembly will remain on the computer until both applications are uninstalled. Si vous utilisez Gacutil.exe pour des installations de produits, utilisez les options qui prennent en charge le décompte de références.If you are using Gacutil.exe for actual product installations, use the options that support reference counting. Utilisez les options /i et /r ensemble pour installer un assembly et ajouter une référence pour le décompter.Use the /i and /r options together to install an assembly and add a reference to count it. Utilisez les options /u et /r ensemble pour supprimer un décompte de références pour un assembly.Use the /u and /r options together to remove a reference count for an assembly. Notez que l’utilisation des options /i et /u seules ne prend pas en charge le décompte de références.Be aware that using the /i and /u options alone does not support reference counting. Ces options conviennent à une utilisation pendant le développement d'un produit, mais pas pour des installations de produits.These options are appropriate for use during product development but not for actual product installations.

Utilisez les options /il ou /ul pour installer ou désinstaller une liste d’assemblys stockés dans un fichier texte ANSI.Use the /il or /ul options to install or uninstall a list of assemblies stored in an ANSI text file. Le contenu du fichier texte doit être correctement mis en forme.The contents of the text file must be formatted correctly. Pour utiliser un fichier texte afin d’installer des assemblys, spécifiez le chemin d’accès de chaque assembly sur une ligne distincte dans le fichier.To use a text file to install assemblies, specify the path to each assembly on a separate line in the file. L'exemple suivant illustre le contenu d'un fichier contenant des assemblys à installer.The following example demonstrates the contents of a file containing assemblies to install.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Pour utiliser un fichier texte afin de désinstaller des assemblys, indiquez le nom qualifié complet de chaque assembly sur une ligne distincte dans le fichier.To use a text file to uninstall assemblies, specify the fully qualified assembly name for each assembly on a separate line in the file. L'exemple suivant illustre le contenu d'un fichier contenant des assemblys à désinstaller.The following example demonstrates the contents of a file containing assemblies to uninstall.

myAssembly1,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly2,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly3,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab

Notes

Si vous tentez d’installer un assembly dont le nom de fichier dépasse les 79-91 caractères (sans compter l’extension du fichier), vous risquez de rencontrer l’erreur suivante :Attempting to install an assembly with a filename longer than between 79 and 91 characters (excluding the file extension) can result in the following error:

Failure adding assembly to the cache:   The file name is too long.

En effet, Gacutil.exe construit en interne un chemin d’accès pouvant atteindre MAX_PATH caractères et composé des éléments suivants :This is because internally Gacutil.exe constructs a path of up to MAX_PATH characters that consists of the following elements:

  • GAC Root – 34 caractères (p. ex., C:\Windows\Microsoft.NET\assembly\)GAC Root - 34 chars (ie. C:\Windows\Microsoft.NET\assembly\)
  • Architecture – 7 ou 9 caractères (p. ex., GAC_32\, GAC_64\, GAC_MSIL)Architecture - 7 or 9 chars (ie. GAC_32\, GAC_64\, GAC_MSIL)
  • AssemblyName – jusqu'à 91 caractères, selon la taille des autres éléments (p. ex.,AssemblyName - Up to 91 chars, depending on the size of the other elements (eg. System.Xml.Linq\)System.Xml.Linq\)
  • AssemblyInfo – 31 à 48 caractères ou plus, composés de :AssemblyInfo - 31 to 48 chars or more consisting of:
    • Framework – 5 caractères (p. ex.,Framework - 5 chars (eg. v4.0_)v4.0_)
    • AssemblyVersion – 8 à 24 caractères (p. ex.,AssemblyVersion - 8 to 24 chars (eg. 9.0.1000.0_)9.0.1000.0_)
    • AssemblyLanguage – 1 à 8 caractères (p. ex.,AssemblyLanguage - 1 to 8 chars (eg. de_, sr-Cyrl_)de_, sr-Cyrl_)
    • PublicKey – 17 caractères (p. ex.,PublicKey - 17 chars (eg. 31bf3856ad364e35\)31bf3856ad364e35\)
  • DllFileName – jusqu'à 91 + 4 caractères (p. ex., <AssemblyName>.dll)DllFileName - Up to 91 + 4 chars (ie. <AssemblyName>.dll)

ExemplesExamples

La commande suivante installe l'assembly mydll.dll dans le Global Assembly Cache.The following command installs the assembly mydll.dll into the global assembly cache.

gacutil /i mydll.dll

La commande suivante supprime l'assembly hello du Global Assembly Cache si aucun décompte de références n'existe pour l'assembly.The following command removes the assembly hello from the global assembly cache as long as no reference counts exist for the assembly.

gacutil /u hello

Notez que la commande précédente peut supprimer plusieurs assemblys du cache de l'assembly, car le nom de l'assembly n'est pas complètement spécifié.Note that the previous command might remove more than one assembly from the assembly cache because the assembly name is not fully specified. Par exemple, si les versions 1.0.0.0 et 3.2.2.1 de hello sont installées dans le cache, la commande gacutil /u hello supprime alors ces deux assemblys.For example, if both version 1.0.0.0 and 3.2.2.1 of hello are installed in the cache, the command gacutil /u hello removes both of the assemblies.

Suivez l'exemple suivant pour éviter de supprimer plusieurs assemblys.Use the following example to avoid removing more than one assembly. Cette commande supprime uniquement l'assembly hello correspondant au numéro de version, à la culture et à la clé publique intégralement spécifiés.This command removes only the hello assembly that matches the fully specified version number, culture, and public key.

gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca

La commande suivante installe les assemblys spécifiés dans le fichier assemblyList.txt du Global Assembly Cache.The following command installs the assemblies specified in the file assemblyList.txt into the global assembly cache.

gacutil /il assemblyList.txt

La commande suivante supprime les assemblys spécifiés dans le fichier assemblyList.txt du Global Assembly Cache.The following command removes the assemblies specified in the file assemblyList.txt from the global assembly cache.

gacutil /ul assemblyList.txt

La commande suivante installe myDll.dll dans le Global Assembly Cache et ajoute une référence pour le décompter.The following command installs myDll.dll into the global assembly cache and adds a reference to count it. L'assembly myDll.dll est utilisé par l'application MyApp.The assembly myDll.dll is used by the application MyApp. Le paramètre UNINSTALL_KEY MyApp spécifie la clé de Registre qui ajoute MyApp à Ajout/Suppression de programmes dans Windows.The UNINSTALL_KEY MyApp parameter specifies the registry key that adds MyApp to Add/Remove Programs in Windows. Le paramètre description est spécifié en tant que My Application Description.The description parameter is specified as My Application Description.

gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"

La commande suivante installe myDll.dll dans le Global Assembly Cache et ajoute une référence pour le décompter.The following command installs myDll.dll into the global assembly cache and adds a reference to count it. Le paramètre scheme, FILEPATH, et le paramètre id, c:\applications\myApp\myApp.exe, spécifient le chemin de l’application qui installe myDll.dll.. Le paramètre description est spécifié en tant que MyApp.The scheme parameter, FILEPATH, and the id parameter, c:\applications\myApp\myApp.exe, specify the path to the application that is installing myDll.dll. The description parameter is specified as MyApp.

gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

La commande suivante installe myDll.dll dans le Global Assembly Cache et ajoute une référence pour le décompter.The following command installs myDll.dll into the global assembly cache and adds a reference to count it. Le paramètre scheme, OPAQUE, vous permet de personnaliser les paramètres id et description.The scheme parameter, OPAQUE, allows you to customize the id and description parameters.

gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"

La commande suivante supprime la référence à myDll.dll par l'application myApp.The following command removes the reference to myDll.dll by the application myApp. S'il s'agit de la dernière référence à l'assembly, elle supprime également l'assembly du Global Assembly Cache.If this is the last reference to the assembly, it will also remove the assembly from the global assembly cache.

gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

La commande suivante répertorie le contenu du Global Assembly Cache.The following command lists the contents of the global assembly cache.

gacutil /l

Voir aussiSee also