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 (bijvoorbeeld
GAC_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\
)
- Framework - 5 tekens (bijvoorbeeld
- 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, FILEPATH
en de id-parameter, c:\applications\myApp\myApp.exe
geeft 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 OPAQUE
kunt 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 myApp
verwijderd. 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