Sdílet prostřednictvím


Gacutil.exe (nástroj Global Assembly Cache)

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.

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

Syntaxe

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parametry

Argument Popis
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.
assemblyPath Název souboru obsahujícího manifest sestavení.
assemblyListFile 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í 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 pomocí možností /i nebo /il pro vynucení přeinstalace 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.
/i assemblyPath Nainstaluje sestavení do globální mezipaměti sestavení (GAC).
/if assemblyPath 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 ekvivalentem pro společné zadání možností /i a /f .
/il assemblyListFile Nainstaluje jedno nebo více sestavení zadaných v souboru assemblyListFile do globální mezipaměti sestavení.
/ir assemblyPath

scheme

id

popis
Nainstaluje sestavení do globální mezipaměti sestavení a přidá odkaz pro jeho započítání. Pomocí této možnosti musíte zadat parametry assemblyPath, scheme, ID a description . 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í /i a /r společně.
/l [assemblyName] Zobrazí obsah globální mezipaměti sestavení (GAC). Pokud zadáte parametr assemblyName , nástroj zobrazí seznam pouze sestavení odpovídající danému názvu.
/Ldl Vypíše obsah mezipaměti stažených souborů.
/lr [assemblyName] Vypíše všechna sestavení a jim odpovídající počty odkazů. Pokud zadáte parametr assemblyName , nástroj zobrazí seznam pouze sestavení odpovídající danému názvu a jejich odpovídající referenční počty.
/nologo Potlačí zobrazení úvodního nápisu společnosti Microsoft.
/r [assemblyName | assemblyPath]

scheme

id

popis
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 s touto možností. 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 parametry popisu, 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 schématu instalace. Můžete určit jednu z následujících hodnot:

- UNINSTALL_KEY: Tuto hodnotu zadejte, pokud instalační program přidá aplikaci do aplikace 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 programu Přidat nebo odebrat programy.
- OPAQUE: Tuto hodnotu zadejte, pokud zadání klíče registru nebo cesty k souboru se nevztahuje na váš 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 pro parametr schématu zadáte UNINSTALL_KEY, zadejte název aplikace nastavené v klíči registru HKLM\Software\Microsoft\Windows\CurrentVersion. Pokud je například klíč registru HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, zadejte myApp pro parametr ID .
- Pokud pro parametr schématu zadáte FILEPATH, zadejte úplnou cestu ke spustitelnému souboru, který nainstaluje sestavení jako parametr ID.
- Pokud pro parametr schématu zadáte OPAQUE, můžete jako parametr ID zadat libovolnou část dat. Zadaná data musí být uzavřena do uvozovek ("").

Parametr popisu umožňuje zadat popisný text o aplikaci, která se má nainstalovat. Tyto informace se zobrazují při výčtu odkazů.
/tichý Potlačí zobrazování všech výstupů.
/u assemblyName Odinstaluje sestavení z globální mezipaměti sestavení (GAC).
/uf assemblyName 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í nainstalovaného pomocí Instalační služby systému Windows. Pokud se o tuto operaci pokusíte, nástroj zobrazí chybovou zprávu.
/ul assemblyListFile Odinstaluje jedno nebo více sestavení zadaných v souboru assemblyListFile z globální mezipaměti sestavení.
/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 (Generátor nativních imagí).

V rozhraní .NET Framework verze 1.0 a 1.1 určuje / ungen způsobí, že Gacutil.exe odebrat sestavení z mezipaměti nativní bitové kopie. Tato mezipaměť ukládá nativní bitové kopie pro sestavení vytvořená pomocí Ngen.exe (generátor nativních bitových kopií).
/ur assemblyName

scheme

id

popis
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 parametry popisu, 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 odpovídá 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, který se má spočítat. Pomocí možností /u a /r odeberte počet odkazů pro sestavení. Mějte na paměti, že použití možností /i a /u samotné 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 můžete nainstalovat nebo odinstalovat 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.

Důvodem je to, že interně Gacutil.exe vytváří cestu až MAX_PATH znaků, které se skládají 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 skládajících se 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é počty odkazů.

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 obě verze 1.0.0.0 a 3.2.2.1 hello nainstalovány v mezipaměti, 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 počtu verzí, 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í.

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í a přidá odkaz, který ho spočítá. myDll.dll Sestavení je používáno aplikací MyApp. Parametr UNINSTALL_KEY MyApp určuje klíč registru, který se přidá do funkce MyApp Přidat nebo odebrat programy v systému Windows. Parametr popisu je zadán 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í a přidá odkaz, který ho spočítá. Parametr FILEPATHschématu a parametr c:\applications\myApp\myApp.exeID zadejte cestu k aplikaci, která instaluje myDll.dll. Parametr popisu je zadán 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í a přidá odkaz, který ho spočítá. Parametr OPAQUEschématu umožň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 na myDll.dll aplikaci myApp. 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é