Gacutil.exe (verktyg för global sammansättningscache)
Med verktyget Global Assembly Cache kan du visa och ändra innehållet i den globala sammansättningscachen och ladda ned cacheminnet.
Det här verktyget installeras automatiskt med Visual Studio. Om du vill köra verktyget använder du Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell.
Skriv följande vid kommandotolken:
Syntax
gacutil [options] [assemblyName | assemblyPath | assemblyListFile]
Parametrar
Argument | beskrivning |
---|---|
assemblyName | Namnet på en sammansättning. Du kan ange antingen ett delvis angivet sammansättningsnamn, till exempel myAssembly eller ett fullständigt angivet sammansättningsnamn, till exempel myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5 . |
assemblyPath | Namnet på en fil som innehåller ett sammansättningsmanifest. |
assemblyListFile | Sökvägen till en ANSI-textfil som visar sammansättningar som ska installeras eller avinstalleras. Om du vill använda en textfil för att installera sammansättningar anger du sökvägen till varje sammansättning på en separat rad i filen. Verktyget tolkar relativa sökvägar i förhållande till platsen för assemblyListFile. Om du vill använda en textfil för att avinstallera sammansättningar anger du det fullständigt kvalificerade sammansättningsnamnet för varje sammansättning på en separat rad i filen. Se exemplen på assemblyListFile-innehåll senare i det här avsnittet. |
Alternativ | Description |
---|---|
/cdl | Tar bort innehållet i nedladdningscacheminnet. |
/f | Ange det här alternativet med alternativen /i eller /il för att tvinga en sammansättning att installera om. Om det redan finns en sammansättning med samma namn i den globala sammansättningscachen skriver verktyget över den. |
/h[elp] | Visar kommandosyntax och alternativ för verktyget. |
/i assemblyPath | Installerar en sammansättning i den globala sammansättningscacheminnet. |
/if assemblyPath | Installerar en sammansättning i den globala sammansättningscacheminnet. Om det redan finns en sammansättning med samma namn i den globala sammansättningscachen skriver verktyget över den. Att ange det här alternativet motsvarar att ange alternativen /i och /f tillsammans. |
/il assemblyListFile | Installerar en eller flera sammansättningar som anges i assemblyListFile i den globala sammansättningscache. |
/ir assemblyPath schema id beskrivning |
Installerar en sammansättning i den globala sammansättningscacheminnet och lägger till en referens för att räkna sammansättningen. Du måste ange parametrarna assemblyPath, scheme, id och description med det här alternativet. En beskrivning av giltiga värden som du kan ange för dessa parametrar finns i alternativet /r . Att ange det här alternativet motsvarar att ange alternativen /i och /r tillsammans. |
/l [assemblyName] | Visar en lista över innehållet i den globala sammansättningscacheminnet. Om du anger parametern assemblyName listar verktyget endast de sammansättningar som matchar namnet. |
/Ldl | Visar innehållet i cacheminnet för nedladdade filer. |
/lr [assemblyName] | Visar en lista över alla sammansättningar och deras motsvarande referensantal. Om du anger parametern assemblyName listar verktyget endast de sammansättningar som matchar namnet och deras motsvarande referensantal. |
/nologo | Undertrycker microsofts startbanderoll. |
/r [assemblyName | assemblyPath] schema id beskrivning |
Anger en spårad referens till en sammansättning eller sammansättningar som ska installeras eller avinstalleras. Ange det här alternativet med alternativen /i, /il, /u eller /ul . Om du vill installera en sammansättning anger du parametrarna assemblyPath, scheme, id och description med det här alternativet. Om du vill avinstallera en sammansättning anger du parametrarna assemblyName, scheme, id och description . Om du vill ta bort en referens till en sammansättning måste du ange samma schema-, ID- och beskrivningsparametrar som angavs med alternativen /i och /r (eller /ir) när sammansättningen installerades. Om du avinstallerar en sammansättning tar verktyget även bort sammansättningen från den globala sammansättningscacheminnet om det är den sista referensen att ta bort och om Windows Installer inte har några utestående referenser till sammansättningen. Schemaparametern anger typ av installationsschema. Ange något av följande värden: – UNINSTALL_KEY: Ange det här värdet om installationsprogrammet lägger till programmet i Lägg till/ta bort program i Microsoft Windows. Program lägger till sig själva i Lägg till/ta bort program genom att lägga till en registernyckel i HKLM\Software\Microsoft\Windows\CurrentVersion. – FILEPATH: Ange det här värdet om installationsprogrammet inte lägger till programmet i Lägg till/ta bort program. – OPAQUE: Ange det här värdet om det inte gäller för installationsscenariot att ange en registernyckel eller filsökväg. Med det här värdet kan du ange anpassad information för ID-parametern . Värdet som ska anges för ID-parametern beror på värdet som angetts för schemaparametern: – Om du anger UNINSTALL_KEY för schemaparametern anger du namnet på programmet som angetts i registernyckeln HKLM\Software\Microsoft\Windows\CurrentVersion. Om registernyckeln till exempel är HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp anger du MyApp som id-parameter . – Om du anger FILEPATH för schemaparametern anger du den fullständiga sökvägen till den körbara fil som installerar sammansättningen som id-parameter . – Om du anger OPAQUE för schemaparametern kan du ange valfri datadel som ID-parameter . De data du anger måste omges av citattecken (""). Med beskrivningsparametern kan du ange beskrivande text om programmet som ska installeras. Den här informationen visas när referenser räknas upp. |
/tyst | Undertrycker visningen av alla utdata. |
/u assemblyName | Avinstallerar en sammansättning från den globala sammansättningscacheminnet. |
/uf assemblyName | Tvingar en angiven sammansättning att avinstallera genom att ta bort alla referenser till sammansättningen. Att ange det här alternativet motsvarar att ange alternativen /u och /f tillsammans. Obs! Du kan inte använda det här alternativet för att ta bort en sammansättning som installerades med Microsoft Windows Installer. Om du försöker utföra den här åtgärden visas ett felmeddelande i verktyget. |
/ul assemblyListFile | Avinstallerar en eller flera sammansättningar som anges i assemblyListFile från den globala sammansättningscacheminnet. |
/u[ngen] assemblyName | Avinstallerar en angiven sammansättning från den globala sammansättningscacheminnet. Om den angivna sammansättningen har befintliga referensantal visar verktyget referensantalet och tar inte bort sammansättningen från den globala sammansättningscacheminnet. Obs! I .NET Framework version 2.0 /ungen stöds inte. Använd uninstall i stället kommandot för Ngen.exe (native Image Generator). Om du anger /ungen i .NET Framework-versionerna 1.0 och 1.1 Gacutil.exe att ta bort sammansättningen från den interna avbildningscacheminnet. Den här cachen lagrar de inbyggda avbildningarna för sammansättningar som har skapats med hjälp av Ngen.exe (inbyggd avbildningsgenerator). |
/ur assemblyName schema id beskrivning |
Avinstallerar en referens till en angiven sammansättning från den globala sammansättningscacheminnet. Om du vill ta bort en referens till en sammansättning måste du ange samma schema-, ID- och beskrivningsparametrar som angavs med alternativen /i och /r (eller /ir) när sammansättningen installerades. En beskrivning av giltiga värden som du kan ange för dessa parametrar finns i alternativet /r . Att ange det här alternativet motsvarar att ange alternativen /u och /r tillsammans. |
/? | Visar kommandosyntax och alternativ för verktyget. |
Kommentarer
Kommentar
Du måste ha administratörsbehörighet för att kunna använda Gacutil.exe.
Mer specifikt kan du Gacutil.exe installera sammansättningar i cacheminnet, ta bort dem från cacheminnet och visa en lista över innehållet i cacheminnet.
Gacutil.exe innehåller alternativ som stöder referensräkning som liknar det referensräkningsschema som stöds av Windows Installer. Du kan använda Gacutil.exe för att installera två program som installerar samma sammansättning. verktyget håller reda på antalet referenser till sammansättningen. Därför finns sammansättningen kvar på datorn tills båda programmen har avinstallerats. Om du använder Gacutil.exe för faktiska produktinstallationer använder du de alternativ som stöder referensräkning. Använd alternativen /i och /r tillsammans för att installera en sammansättning och lägga till en referens för att räkna den. Använd alternativen /u och /r tillsammans för att ta bort ett referensantal för en sammansättning. Tänk på att enbart alternativen /i och /u inte stöder referensräkning. Dessa alternativ är lämpliga för användning under produktutveckling men inte för faktiska produktinstallationer.
Använd alternativen /il eller /ul för att installera eller avinstallera en lista över sammansättningar som lagras i en ANSI-textfil. Innehållet i textfilen måste formateras korrekt. Om du vill använda en textfil för att installera sammansättningar anger du sökvägen till varje sammansättning på en separat rad i filen. I följande exempel visas innehållet i en fil som innehåller sammansättningar som ska installeras.
myAssembly1.dll
myAssembly2.dll
myAssembly3.dll
Om du vill använda en textfil för att avinstallera sammansättningar anger du det fullständigt kvalificerade sammansättningsnamnet för varje sammansättning på en separat rad i filen. I följande exempel visas innehållet i en fil som innehåller sammansättningar som ska avinstalleras.
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
Kommentar
Försök att installera en sammansättning med ett filnamn som är längre än mellan 79 och 91 tecken (exklusive filnamnstillägget) kan resultera i följande fel:
Failure adding assembly to the cache: The file name is too long.
Det beror på att internt Gacutil.exe skapar en sökväg med upp till MAX_PATH tecken som består av följande element:
- GAC Root - 34 tecken (dvs.
C:\Windows\Microsoft.NET\assembly\
) - Arkitektur – 7 eller 9 tecken (dvs.
GAC_32\
,GAC_64\
,GAC_MSIL
) - AssemblyName – upp till 91 tecken, beroende på storleken på de andra elementen (t.ex.
System.Xml.Linq\
) - AssemblyInfo – 31 till 48 tecken eller mer bestående av:
- Framework – 5 tecken (t.ex.
v4.0_
) - AssemblyVersion – 8 till 24 tecken (t.ex.
9.0.1000.0_
) - AssemblyLanguage – 1 till 8 tecken (t.ex.
de_
,sr-Cyrl_
) - PublicKey – 17 tecken (t.ex.
31bf3856ad364e35\
)
- Framework – 5 tecken (t.ex.
- DllFileName – upp till 91 + 4 tecken (dvs.
<AssemblyName>.dll
)
Exempel
Följande kommando installerar sammansättningen mydll.dll
i den globala sammansättningscacheminnet.
gacutil /i mydll.dll
Följande kommando tar bort sammansättningen hello
från den globala sammansättningscachen så länge det inte finns några referensantal för sammansättningen.
gacutil /u hello
Observera att det tidigare kommandot kan ta bort mer än en sammansättning från sammansättningscacheminnet eftersom sammansättningsnamnet inte är helt angivet. Om till exempel både version 1.0.0.0 och 3.2.2.1 av hello
är installerade i cacheminnet, tar kommandot gacutil /u hello
bort båda sammansättningarna.
Använd följande exempel för att undvika att ta bort fler än en sammansättning. Det här kommandot tar bara hello
bort sammansättningen som matchar det fullständigt angivna versionsnumret, kulturen och den offentliga nyckeln.
gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca
Följande kommando installerar de sammansättningar som anges i filen assemblyList.txt
i den globala sammansättningscacheminnet.
gacutil /il assemblyList.txt
Följande kommando tar bort de sammansättningar som anges i filen assemblyList.txt
från den globala sammansättningscacheminnet.
gacutil /ul assemblyList.txt
Följande kommando installeras myDll.dll
i den globala sammansättningscachen och lägger till en referens för att räkna det. Sammansättningen myDll.dll
används av programmet MyApp
. Parametern UNINSTALL_KEY MyApp
anger registernyckeln som lägger MyApp
till i Lägg till/ta bort program i Windows. Beskrivningsparametern anges som My Application Description
.
gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"
Följande kommando installeras myDll.dll
i den globala sammansättningscachen och lägger till en referens för att räkna det. Schemaparametern , FILEPATH
och id-parametern , c:\applications\myApp\myApp.exe
anger sökvägen till programmet som installerar myDll.dll.
Beskrivningsparametern anges som MyApp
.
gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp
Följande kommando installeras myDll.dll
i den globala sammansättningscachen och lägger till en referens för att räkna det. Med schemaparametern OPAQUE
, kan du anpassa parametrarna id och beskrivning.
gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"
Följande kommando tar bort referensen till myDll.dll
av programmet myApp
. Om det här är den sista referensen till sammansättningen tas även sammansättningen bort från den globala sammansättningscacheminnet.
gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp
Följande kommando visar innehållet i den globala sammansättningscacheminnet.
gacutil /l