Delen via


Gacutil.exe (Global Assembly Cache-hulpprogramma)

Met het hulpprogramma Global Assembly Cache kunt u de inhoud van de algemene assemblycache bekijken en bewerken en cache downloaden.

Dit hulpprogramma wordt automatisch geïnstalleerd met Visual Studio. Als u het hulpprogramma wilt uitvoeren, gebruikt u de Visual Studio Developer-opdrachtprompt of Visual Studio Developer PowerShell.

Typ het volgende bij de opdrachtprompt:

Syntaxis

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parameters

Argument Beschrijving
assemblyName De naam van een assembly. U kunt een gedeeltelijk opgegeven assemblynaam opgeven, zoals myAssembly of een volledig opgegeven assemblynaam, zoals myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPath De naam van een bestand dat een assemblymanifest bevat.
assemblyListFile Het pad naar een ANSI-tekstbestand met assembly's die moeten worden geïnstalleerd of verwijderd. Als u een tekstbestand wilt gebruiken om assembly's te installeren, geeft u het pad naar elke assembly op een afzonderlijke regel in het bestand op. Het hulpprogramma interpreteert relatieve paden, ten opzichte van de locatie van het assemblyListFile. Als u een tekstbestand wilt gebruiken om assembly's te verwijderen, geeft u de volledig gekwalificeerde assemblynaam voor elke assembly op een afzonderlijke regel in het bestand op. Zie de voorbeelden van assemblyListFile-inhoud verderop in dit onderwerp.
Optie Omschrijving
/cdl Hiermee verwijdert u de inhoud van de downloadcache.
/f Geef deze optie op met de opties /i of /il om te forceren dat een assembly opnieuw moet worden geïnstalleerd. Als er al een assembly met dezelfde naam in de globale assemblycache bestaat, wordt deze overschreven door het hulpprogramma.
/h[elp] Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer.
/i assemblyPath Hiermee installeert u een assembly in de globale assemblycache.
/if assemblyPath Hiermee installeert u een assembly in de globale assemblycache. Als er al een assembly met dezelfde naam in de globale assemblycache bestaat, wordt deze overschreven door het hulpprogramma.

Het opgeven van deze optie is gelijk aan het opgeven van de /i - en /f-opties samen.
/il assemblyListFile Installeert een of meer assembly's die zijn opgegeven in assemblyListFile in de globale assemblycache.
/ir assemblyPath

scheme

id

beschrijving
Installeert een assembly in de globale assemblycache en voegt een verwijzing toe om de assembly te tellen. U moet de assemblyPath-, schema-, id- en beschrijvingsparameters opgeven met deze optie. Zie de optie /r voor een beschrijving van de geldige waarden die u voor deze parameters kunt opgeven.

Het opgeven van deze optie is gelijk aan het opgeven van de /i - en /r-opties samen.
/l [assemblyName] Hiermee wordt de inhoud van de globale assemblycache weergegeven. Als u de parameter assemblyName opgeeft, geeft het hulpprogramma alleen de assembly's weer die overeenkomen met die naam.
/Ldl Geeft de inhoud van de gedownloade bestandencache weer.
/lr [assemblyName] Een lijst met alle assembly's en de bijbehorende referentieaantallen. Als u de parameter assemblyName opgeeft, worden in het hulpprogramma alleen de assembly's vermeld die overeenkomen met die naam en de bijbehorende verwijzingsaantallen.
/nologo Onderdrukt de weergave van de opstartbanner van Microsoft.
/r [assemblyName | assemblyPath]

scheme

id

beschrijving
Hiermee geeft u een getraceerde verwijzing naar een assembly of assembly's die moeten worden geïnstalleerd of verwijderd. Geef deze optie op met de opties /i, /il, /u of /ul .

Als u een assembly wilt installeren, geeft u de assemblyPath-, schema-, id- en beschrijvingsparameters op met deze optie. Als u een assembly wilt verwijderen, geeft u de assemblyName-, schema-, id- en beschrijvingsparameters op.

Als u een verwijzing naar een assembly wilt verwijderen, moet u dezelfde schema-, id- en beschrijvingsparameters opgeven die zijn opgegeven met de opties /i en /r (of /ir) toen de assembly werd geïnstalleerd. Als u een assembly verwijdert, verwijdert het hulpprogramma ook de assembly uit de globale assemblycache als het de laatste verwijzing is om te verwijderen en als Windows Installer geen openstaande verwijzingen naar de assembly heeft.

De schemaparameter geeft het type installatieschema op. U kunt een van de volgende waarden opgeven:

- UNINSTALL_KEY: geef deze waarde op als het installatieprogramma de toepassing toevoegt aan Programma's toevoegen/verwijderen in Microsoft Windows. Toepassingen voegen zichzelf toe aan Programma's toevoegen/verwijderen door een registersleutel toe te voegen aan HKLM\Software\Microsoft\Windows\CurrentVersion.
- FILEPATH: geef deze waarde op als het installatieprogramma de toepassing niet toevoegt aan Programma's toevoegen/verwijderen.
- OPAQUE: geef deze waarde op als het opgeven van een registersleutel of bestandspad niet van toepassing is op uw installatiescenario. Met deze waarde kunt u aangepaste gegevens opgeven voor de id-parameter .

De waarde die moet worden opgegeven voor de id-parameter , is afhankelijk van de waarde die is opgegeven voor de schemaparameter :

- Als u UNINSTALL_KEY opgeeft voor de schemaparameter , geeft u de naam op van de toepassing die is ingesteld in de registersleutel HKLM\Software\Microsoft\Windows\CurrentVersion. Als de registersleutel bijvoorbeeld HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp is, geeft u MyApp op voor de id-parameter .
- Als u FILEPATH opgeeft voor de schemaparameter , geeft u het volledige pad op naar het uitvoerbare bestand dat de assembly installeert als de id-parameter .
- Als u OPAQUE opgeeft voor de schemaparameter, kunt u gegevens opgeven als id-parameter. De gegevens die u opgeeft, moeten tussen aanhalingstekens ("").

Met de beschrijvingsparameter kunt u beschrijvende tekst opgeven over de toepassing die moet worden geïnstalleerd. Deze informatie wordt weergegeven wanneer verwijzingen worden geïnventariseerd.
/stil Onderdrukt de weergave van alle uitvoer.
/u assemblyName Hiermee verwijdert u een assembly uit de globale assemblycache.
/uf assemblyName Hiermee dwingt u een opgegeven assembly te verwijderen door alle verwijzingen naar de assembly te verwijderen.

Het opgeven van deze optie is gelijk aan het opgeven van de opties /u en /f . Opmerking: u kunt deze optie niet gebruiken om een assembly te verwijderen die is geïnstalleerd met Microsoft Windows Installer. Als u deze bewerking probeert uit te voeren, wordt in het hulpprogramma een foutbericht weergegeven.
/ul assemblyListFile Hiermee verwijdert u een of meer assembly's die zijn opgegeven in assemblyListFile vanuit de globale assemblycache.
/u[ngen] assemblyName Hiermee verwijdert u een opgegeven assembly uit de globale assemblycache. Als de opgegeven assembly bestaande referentieaantallen heeft, worden de referentieaantallen weergegeven en wordt de assembly niet uit de globale assemblycache verwijderd. Opmerking: in .NET Framework versie 2.0 wordt /ungen niet ondersteund. Gebruik in plaats daarvan de uninstall opdracht van de Ngen.exe (Native Image Generator).a0>

In .NET Framework-versies 1.0 en 1.1 geeft u /ungen oorzaken op Gacutil.exe de assembly uit de systeemeigen installatiekopiecache te verwijderen. In deze cache worden de systeemeigen installatiekopieën opgeslagen voor assembly's die zijn gemaakt met behulp van de Ngen.exe (Native Image Generator).a0>
/ur assemblyName

scheme

id

beschrijving
Hiermee verwijdert u een verwijzing naar een opgegeven assembly uit de algemene assemblycache. Als u een verwijzing naar een assembly wilt verwijderen, moet u dezelfde schema-, id- en beschrijvingsparameters opgeven die zijn opgegeven met de opties /i en /r (of /ir) toen de assembly werd geïnstalleerd. Zie de optie /r voor een beschrijving van de geldige waarden die u voor deze parameters kunt opgeven.

Het opgeven van deze optie is gelijk aan het opgeven van de /u - en /r-opties samen.
/? Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer.

Opmerkingen

Notitie

U moet beheerdersbevoegdheden hebben om Gacutil.exe te kunnen gebruiken.

Met name Gacutil.exe kunt u assembly's in de cache installeren, verwijderen uit de cache en de inhoud van de cache weergeven.

Gacutil.exe biedt opties die ondersteuning bieden voor het tellen van verwijzingen die vergelijkbaar zijn met het referentietelschema dat wordt ondersteund door Windows Installer. U kunt Gacutil.exe gebruiken om twee toepassingen te installeren die dezelfde assembly installeren; het hulpprogramma houdt het aantal verwijzingen naar de assembly bij. Als gevolg hiervan blijft de assembly op de computer staan totdat beide toepassingen worden verwijderd. Als u Gacutil.exe gebruikt voor daadwerkelijke productinstallaties, gebruikt u de opties die ondersteuning bieden voor het tellen van verwijzingen. Gebruik de opties /i en /r samen om een assembly te installeren en een verwijzing toe te voegen om deze te tellen. Gebruik de opties /u en /r samen om een verwijzingsaantal voor een assembly te verwijderen. Houd er rekening mee dat het gebruik van de opties /i en /u alleen geen ondersteuning biedt voor het tellen van verwijzingen. Deze opties zijn geschikt voor gebruik tijdens productontwikkeling, maar niet voor daadwerkelijke productinstallaties.

Gebruik de opties /il of /ul om een lijst met assembly's te installeren of te verwijderen die zijn opgeslagen in een ANSI-tekstbestand. De inhoud van het tekstbestand moet correct zijn opgemaakt. Als u een tekstbestand wilt gebruiken om assembly's te installeren, geeft u het pad naar elke assembly op een afzonderlijke regel in het bestand op. In het volgende voorbeeld ziet u de inhoud van een bestand met assembly's dat moet worden geïnstalleerd.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Als u een tekstbestand wilt gebruiken om assembly's te verwijderen, geeft u de volledig gekwalificeerde assemblynaam voor elke assembly op een afzonderlijke regel in het bestand op. In het volgende voorbeeld ziet u de inhoud van een bestand met assembly's dat moet worden verwijderd.

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

Notitie

Als u een assembly probeert te installeren met een bestandsnaam die langer is dan 79 tot 91 tekens (met uitzondering van de bestandsextensie), kan dit tot de volgende fout leiden:

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

Dit komt doordat intern Gacutil.exe een pad maakt van maximaal MAX_PATH tekens die uit de volgende elementen bestaan:

  • GAC Root - 34 tekens (ie. C:\Windows\Microsoft.NET\assembly\)
  • Architectuur - 7 of 9 tekens (bijvoorbeeldGAC_32\, , GAC_64\GAC_MSIL)
  • AssemblyName : maximaal 91 tekens, afhankelijk van de grootte van de andere elementen (bijvoorbeeld System.Xml.Linq\)
  • AssemblyInfo - 31 tot 48 tekens of meer bestaande uit:
    • Framework - 5 tekens (bijvoorbeeld v4.0_)
    • AssemblyVersion - 8 tot 24 tekens (bijvoorbeeld 9.0.1000.0_)
    • AssemblyLanguage - 1 tot 8 tekens (bijvoorbeeld de_, sr-Cyrl_)
    • PublicKey - 17 tekens (bijvoorbeeld 31bf3856ad364e35\)
  • DllFileName - Maximaal 91 + 4 tekens (bijvoorbeeld <AssemblyName>.dll)

Voorbeelden

Met de volgende opdracht wordt de assembly mydll.dll in de algemene assemblycache geïnstalleerd.

gacutil /i mydll.dll

Met de volgende opdracht wordt de assembly hello uit de algemene assemblycache verwijderd zolang er geen verwijzingsaantallen voor de assembly bestaan.

gacutil /u hello

Houd er rekening mee dat met de vorige opdracht meer dan één assembly uit de assemblycache kan worden verwijderd omdat de assemblynaam niet volledig is opgegeven. Als bijvoorbeeld zowel versie 1.0.0.0 als 3.2.2.1 hello in de cache zijn geïnstalleerd, gacutil /u hello worden beide assembly's verwijderd.

Gebruik het volgende voorbeeld om te voorkomen dat u meer dan één assembly verwijdert. Met deze opdracht verwijdert u alleen de hello assembly die overeenkomt met het volledig opgegeven versienummer, de cultuur en de openbare sleutel.

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

Met de volgende opdracht worden de assembly's geïnstalleerd die in het bestand assemblyList.txt zijn opgegeven in de algemene assemblycache.

gacutil /il assemblyList.txt

Met de volgende opdracht verwijdert u de assembly's die zijn opgegeven in het bestand assemblyList.txt uit de globale assemblycache.

gacutil /ul assemblyList.txt

Met de volgende opdracht wordt geïnstalleerd myDll.dll in de globale assemblycache en wordt een verwijzing toegevoegd om deze te tellen. De assembly myDll.dll wordt gebruikt door de toepassing MyApp. De UNINSTALL_KEY MyApp parameter geeft de registersleutel op die wordt toegevoegd MyApp aan Programma's toevoegen/verwijderen in Windows. De beschrijvingsparameter wordt opgegeven als My Application Description.

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

Met de volgende opdracht wordt geïnstalleerd myDll.dll in de globale assemblycache en wordt een verwijzing toegevoegd om deze te tellen. De schemaparameter, FILEPATHen de id-parameter, c:\applications\myApp\myApp.exegeeft het pad op naar de toepassing die de beschrijvingsparameter installeert myDll.dll. , is opgegeven als MyApp.

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

Met de volgende opdracht wordt geïnstalleerd myDll.dll in de globale assemblycache en wordt een verwijzing toegevoegd om deze te tellen. Met de schemaparameter OPAQUEkunt u de id- en beschrijvingsparameters aanpassen.

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

Met de volgende opdracht wordt de verwijzing naar myDll.dll de toepassing myAppverwijderd. Als dit de laatste verwijzing naar de assembly is, wordt ook de assembly uit de globale assemblycache verwijderd.

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

Met de volgende opdracht wordt de inhoud van de globale assemblycache weergegeven.

gacutil /l

Zie ook