Gacutil.exe (nástroj Globální mezipaměť sestavení)

Nástroj Global Assembly Cache umožňuje zobrazit a měnit obsah globální mezipaměti sestavení (GAC) a mezipaměti pro stahování.

Tento nástroj je automaticky nainstalován se sadou Visual Studio. Ke spuštění nástroje použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.

V příkazovém řádku zadejte následující:

Syntaxe

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parametry

Argument Description
Assemblyname Název sestavení. Můžete zadat buď částečně zadaný název sestavení, například myAssembly , nebo plně zadaný název sestavení, například myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
cesta sestavení Název souboru obsahujícího manifest sestavení.
soubor seznamu sestavení Cesta k textovému souboru ANSI obsahujícímu sestavení, která mají být nainstalována nebo odinstalována. Chcete-li použít textový soubor pro instalaci sestavení, zadejte cestu ke každému sestavení na samostatný řádek souboru. Nástroj interpretuje relativní cesty vzhledem k umístění souboru assemblyListFile. Chcete-li použít textový soubor k odinstalování sestavení, zadejte plně kvalifikovaný název každého sestavení na samostatném řádku v souboru. Podívejte se na příklady obsahu assemblyListFile dále v tomto tématu.
Možnost Popis
/Cdl Odstraní obsah mezipaměti pro stahování.
/F Tuto možnost zadejte s možnostmi /i nebo /il , pokud chcete vynutit přeinstalaci sestavení. Pokud sestavení se stejným názvem již v globální mezipaměti sestavení (GAC) existuje, nástroj je přepíše.
/h[elp] Zobrazí syntaxi příkazu a možnosti nástroje.
/icesta sestavení Nainstaluje sestavení do globální mezipaměti sestavení (GAC).
/ifcesta sestavení Nainstaluje sestavení do globální mezipaměti sestavení (GAC). Pokud sestavení se stejným názvem již v globální mezipaměti sestavení (GAC) existuje, nástroj je přepíše.

Zadání této možnosti je ekvivalentní k zadání možností /i a /f společně.
/ilassemblyListFile Nainstaluje jedno nebo více sestavení zadaných v souboru assemblyListFile do globální mezipaměti sestavení (GPA).
/irassemblyPath

Schéma

id

description
Nainstaluje sestavení do globální mezipaměti sestavení a přidá odkaz pro jeho započítání. Pomocí této možnosti je nutné zadat parametry assemblyPath, scheme, id a description . Popis platných hodnot, které můžete pro tyto parametry zadat, najdete v parametru /r .

Zadání této možnosti je ekvivalentní k zadání možností /i a /r společně.
/l [název_sestavení] Zobrazí obsah globální mezipaměti sestavení (GAC). Pokud zadáte parametr assemblyName , nástroj vypíše pouze sestavení s tímto názvem.
/Ldl Vypíše obsah mezipaměti stažených souborů.
/lr [název_sestavení] Vypíše všechna sestavení a jim odpovídající počty odkazů. Pokud zadáte parametr assemblyName , nástroj vypíše pouze sestavení s tímto názvem a jejich odpovídající počty odkazů.
/nologo Potlačí zobrazení úvodního nápisu společnosti Microsoft.
/r [assemblyName | assemblyPath]

Schéma

id

description
Určuje trasovaný odkaz na sestavení, která mají být nainstalována nebo odinstalována. Tuto možnost zadejte pomocí možností /i, /il, /u nebo /ul .

Chcete-li nainstalovat sestavení, zadejte parametr assemblyPath, schéma, id a popis pomocí této možnosti. Chcete-li odinstalovat sestavení, zadejte parametry assemblyName, scheme, id a description .

Chcete-li odebrat odkaz na sestavení, je nutné zadat stejné schéma, id a popis parametry, které byly zadány s možnostmi /i a /r (nebo /ir) při instalaci sestavení. Provádíte-li odinstalování sestavení, nástroj odstraní sestavení také z globální mezipaměti sestavení (GAC) za předpokladu, že jde o poslední odstraňovaný odkaz a že Instalační služba systému Windows nemá na sestavení žádné zbývající odkazy.

Parametr schématu určuje typ instalačního schématu. Můžete určit jednu z následujících hodnot:

- UNINSTALL_KEY: Tuto hodnotu zadejte, pokud instalační program přidá aplikaci do nástroje Přidat nebo odebrat programy v systému Microsoft Windows. Aplikace se přidávají do ovládacího panelu Přidat nebo odebrat programy přidáním klíče registru HKLM\Software\Microsoft\Windows\CurrentVersion.
- FILEPATH: Tuto hodnotu zadejte, pokud instalační program nepřidá aplikaci do funkce Přidat nebo odebrat programy.
- NEPRŮŽNÉ: Tuto hodnotu zadejte, pokud se zadání klíče registru nebo cesty k souboru nevztahuje na scénář instalace. Tato hodnota umožňuje zadat vlastní informace pro parametr id .

Hodnota, která se má zadat pro parametr id , závisí na hodnotě zadané pro parametr schématu :

– Pokud jako parametr schématu zadáte UNINSTALL_KEY, zadejte název aplikace nastavené v klíči registru HKLM\Software\Microsoft\Windows\CurrentVersion. Pokud je klíč registru například HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, jako parametr id zadejte MyApp.
– Pokud jako parametr schématu zadáte FILEPATH, zadejte úplnou cestu ke spustitelnému souboru, který instaluje sestavení, jako parametr id .
– Pokud jako parametr schématu zadáte NEPRŮŽNÉ, můžete jako parametr id zadat libovolnou část dat. Zadaná data musí být uzavřena do uvozovek ("").

Parametr description umožňuje zadat popisný text o aplikaci, která se má nainstalovat. Tyto informace se zobrazují při výčtu odkazů.
/silent Potlačí zobrazování všech výstupů.
/unázev sestavení Odinstaluje sestavení z globální mezipaměti sestavení (GAC).
/ufassemblyName Vynutí odinstalování zadaného sestavení odstraněním všech odkazů na něj.

Zadání této možnosti je ekvivalentní k zadání možností /u a /f společně. Poznámka: Tuto možnost nelze použít k odebrání sestavení, které bylo nainstalováno pomocí Instalační služby systému Microsoft Windows. Pokud se o tuto operaci pokusíte, nástroj zobrazí chybovou zprávu.
/ulassemblyListFile Odinstaluje jedno nebo více sestavení zadaných v souboru assemblyListFile z globální mezipaměti sestavení (GPA).
/u[ngen] assemblyName Odinstaluje zadané sestavení z globální mezipaměti sestavení (GAC). Existují-li pro zadané sestavení počty odkazů, nástroj tyto počty zobrazí a neodstraní sestavení z globální mezipaměti sestavení (GAC). Poznámka: V rozhraní .NET Framework verze 2.0 /ungen se nepodporuje. Místo toho použijte uninstall příkaz Ngen.exe (Native Image Generator).

V rozhraní .NET Framework verze 1.0 a 1.1 zadání /ungen způsobí Gacutil.exe odebrání sestavení z mezipaměti nativních bitových kopií. Tato mezipaměť ukládá nativní image pro sestavení, která byla vytvořena pomocí Ngen.exe (Native Image Generator).
/urassemblyName

Schéma

id

description
Odinstaluje odkaz na zadané sestavení z globální mezipaměti sestavení (GAC). Chcete-li odebrat odkaz na sestavení, je nutné zadat stejné schéma, ID a popis parametry, které byly zadány s možnostmi /i a /r (nebo /ir) při instalaci sestavení. Popis platných hodnot, které můžete pro tyto parametry zadat, najdete v možnosti /r .

Zadání této možnosti je ekvivalentní k zadání možností /u a /r společně.
/? Zobrazí syntaxi příkazu a možnosti nástroje.

Poznámky

Poznámka

Pro používání nástroje Gacutil.exe je zapotřebí mít oprávnění správce.

Nástroj Gacutil.exe konkrétně umožňuje nainstalovat sestavení do mezipaměti, odstranit je z mezipaměti a vypsat obsah mezipaměti.

Nástroj Gacutil.exe poskytuje možnosti, které podporují počítání odkazů podobné schématu počítání odkazů podporovanému Instalační službou systému Windows. Nástroj Gacutil.exe lze použít k instalaci dvou aplikací, které instalují stejné sestavení. Nástroj sleduje počet odkazů na sestavení. V důsledku toho zůstane sestavení v počítači, dokud nejsou obě aplikace odinstalovány. Používáte-li nástroj Gacutil.exe k instalacím skutečných produktů, použijte možnosti podporující počítání odkazů. Pomocí možností /i a /r společně nainstalujte sestavení a přidejte odkaz k jeho spočítání. Pomocí možností /u a /r odeberte počet odkazů pro sestavení. Mějte na paměti, že použití samotných možností /i a /u nepodporuje počítání odkazů. Tyto možnosti je vhodné použít při vývoji produktu, ale nikoli pro jeho skutečnou instalaci.

Pomocí možností /il nebo /ul nainstalujte nebo odinstalujte seznam sestavení uložených v textovém souboru ANSI. Obsah textového souboru musí být správně naformátován. Chcete-li použít textový soubor pro instalaci sestavení, zadejte cestu ke každému sestavení na samostatný řádek souboru. Následující příklad ukazuje obsah souboru obsahujícího sestavení, která mají být nainstalována.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Chcete-li použít textový soubor k odinstalování sestavení, zadejte plně kvalifikovaný název každého sestavení na samostatném řádku v souboru. Následující příklad ukazuje obsah souboru obsahujícího sestavení, která mají být odinstalována.

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

Poznámka

Při pokusu o instalaci sestavení s názvem souboru delším než 79 až 91 znaků (s výjimkou přípony souboru) může dojít k následující chybě:

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

Je to proto, že interně Gacutil.exe vytvoří cestu až MAX_PATH znaků, která se skládá z následujících prvků:

  • Kořen GAC – 34 znaků (tj. C:\Windows\Microsoft.NET\assembly\)
  • Architektura – 7 nebo 9 znaků (tj. GAC_32\, GAC_64\) GAC_MSIL
  • AssemblyName – až 91 znaků v závislosti na velikosti ostatních prvků (např. System.Xml.Linq\)
  • AssemblyInfo – 31 až 48 znaků nebo více, které se skládají z:
    • Framework – 5 znaků (např. v4.0_)
    • AssemblyVersion - 8 až 24 znaků (např. 9.0.1000.0_)
    • AssemblyLanguage - 1 až 8 znaků (např. de_, sr-Cyrl_)
    • PublicKey - 17 znaků (např. 31bf3856ad364e35\)
  • DllFileName – až 91 + 4 znaky (tj. <AssemblyName>.dll)

Příklady

Následující příkaz nainstaluje sestavení mydll.dll do globální mezipaměti sestavení .

gacutil /i mydll.dll

Následující příkaz odebere sestavení hello z globální mezipaměti sestavení ,pokud pro sestavení neexistují žádné odkazy.

gacutil /u hello

Předchozí příkaz může z mezipaměti sestavení odebrat více než jedno sestavení, protože název sestavení není zadán úplně. Pokud jsou například v mezipaměti nainstalovány obě verze 1.0.0.0 a 3.2.2.1, hello příkaz gacutil /u hello odebere obě sestavení.

Chcete-li zabránit odebrání více než jednoho sestavení, použijte následující příkaz. Tento příkaz odebere pouze sestavení, které odpovídá plně zadanému číslu verze, jazykové verzi a veřejnému hello klíči.

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

Následující příkaz nainstaluje sestavení zadaná v souboru assemblyList.txt do globální mezipaměti sestavení (GM).

gacutil /il assemblyList.txt

Následující příkaz odebere sestavení zadaná v souboru assemblyList.txt z globální mezipaměti sestavení .

gacutil /ul assemblyList.txt

Následující příkaz se nainstaluje myDll.dll do globální mezipaměti sestavení (GPA) a přidá odkaz pro spočítání. Sestavení myDll.dll je používáno aplikací MyApp. Parametr UNINSTALL_KEY MyApp určuje klíč registru, který se přidá MyApp do funkce Přidat nebo odebrat programy v systému Windows. Parametr description je zadaný jako My Application Description.

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

Následující příkaz se nainstaluje myDll.dll do globální mezipaměti sestavení (GPA) a přidá odkaz pro spočítání. Parametr FILEPATHschématu a parametr id určují cestu k aplikaci, c:\applications\myApp\myApp.exekterá instaluje myDll.dll. . Parametr description je zadaný jako MyApp.

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

Následující příkaz se nainstaluje myDll.dll do globální mezipaměti sestavení (GPA) a přidá odkaz pro spočítání. Parametr schématu OPAQUEumožňuje přizpůsobit parametry id a popisu.

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

Následující příkaz odebere odkaz aplikace myDll.dllmyAppna . Jde-li o poslední odkaz na sestavení, příkaz toto sestavení zároveň odebere z globální mezipaměti sestavení (GAC).

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

Následující příkaz vypíše obsah globální mezipaměti sestavení (GAC).

gacutil /l

Viz také