Megosztás a következőn keresztül:


Gacutil.exe (globális szerelvénygyorsítótár-eszköz)

A Globális szerelvénygyorsítótár eszköz lehetővé teszi a globális szerelvénygyorsítótár tartalmának megtekintését és manipulálását, valamint a gyorsítótár letöltését.

Ez az eszköz automatikusan telepítve van a Visual Studióval. Az eszköz futtatásához használja a Visual Studio fejlesztői parancssorát vagy a Visual Studio Developer PowerShellt.

A parancssorba írja be a következőt:

Syntax

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Paraméterek

Argumentum Leírás
assemblyName Egy szerelvény neve. Megadhat egy részben megadott szerelvénynevet, például myAssembly egy teljes szerelvénynevet, például myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPath A szerelvényjegyzéket tartalmazó fájl neve.
assemblyListFile Az ANSI-szövegfájl elérési útja, amely felsorolja a telepítéshez vagy eltávolításhoz szükséges szerelvényeket. Ha szövegfájlt szeretne használni szerelvények telepítéséhez, adja meg az egyes szerelvények elérési útját a fájl egy külön sorában. Az eszköz a assemblyListFile helyéhez képest értelmezi a relatív elérési utakat. Ha szövegfájlt szeretne használni a szerelvények eltávolításához, adja meg az egyes szerelvények teljes szerelvénynevét a fájl egy külön sorában. Tekintse meg a assemblyListFile tartalomra vonatkozó példákat a témakör későbbi részében.
Lehetőség Leírás
/cdl Törli a letöltési gyorsítótár tartalmát.
/f Adja meg ezt a beállítást az /i vagy /il beállításokkal, hogy kényszerítsen egy szerelvényt az újratelepítésre. Ha már létezik azonos nevű szerelvény a globális szerelvény-gyorsítótárban, az eszköz felülírja azt.
/h[elp] Megjeleníti az eszköz parancsszintaxisát és beállításait.
/i assemblyPath Szerelvény telepítése a globális szerelvény-gyorsítótárba.
/if assemblyPath Szerelvény telepítése a globális szerelvény-gyorsítótárba. Ha már létezik azonos nevű szerelvény a globális szerelvény-gyorsítótárban, az eszköz felülírja azt.

A beállítás megadása egyenértékű az /i és /f beállítások együttes megadásával.
/il assemblyListFile Telepíti a assemblyListFile fájlban megadott egy vagy több szerelvényt a globális szerelvény-gyorsítótárba.
/ir assemblyPath

cselszövés

id

leírás
Szerelvényt telepít a globális szerelvény-gyorsítótárba, és hozzáad egy hivatkozást a szerelvény megszámlálásához. Ezzel a beállítással meg kell adnia a assemblyPath, a séma, az azonosító és a leírás paramétereit. A paraméterekhez megadható érvényes értékek leírását a /r beállításban találja.

A beállítás megadása egyenértékű az /i és /r beállítások együttes megadásával.
/l [assemblyName] A globális szerelvény-gyorsítótár tartalmát sorolja fel. Ha megadja a assemblyName paramétert, az eszköz csak az adott névnek megfelelő szerelvényeket listázza.
/Ldl A letöltött fájlok gyorsítótárának tartalmát sorolja fel.
/lr [assemblyName] Felsorolja az összes szerelvényt és azok hivatkozási számát. Ha megadja a assemblyName paramétert, az eszköz csak azokat a szerelvényeket sorolja fel, amelyek megfelelnek a névnek és a hozzájuk tartozó hivatkozási számoknak.
/nologo Letiltja a Microsoft indítási szalagcímének megjelenítését.
/r [assemblyName | assemblyPath]

cselszövés

id

leírás
Egy szerelvényre vagy szerelvényekre mutató nyomkövetési hivatkozást ad meg a telepítéshez vagy eltávolításhoz. Adja meg ezt a beállítást az /i, /il, /u vagy /ul beállításokkal.

Szerelvény telepítéséhez adja meg a assemblyPath, a séma, az azonosító és a leírás paramétereit ezzel a beállítással. Egy szerelvény eltávolításához adja meg a assemblyName, a séma, az azonosító és a leírás paramétereit.

Egy szerelvényre mutató hivatkozás eltávolításához meg kell adnia ugyanazokat a séma-, azonosító- és leírásparamétereket , amelyek a szerelvény telepítésekor az /i és /r (vagy /ir) beállításokkal lettek megadva. Ha eltávolít egy szerelvényt, az eszköz eltávolítja a szerelvényt a globális szerelvény-gyorsítótárból is, ha ez az utolsó eltávolítási hivatkozás, és ha a Windows Installer nem rendelkezik a szerelvényre mutató kiemelkedő hivatkozásokkal.

A sémaparaméter a telepítési séma típusát határozza meg. A következő értékek egyikét adhatja meg:

- UNINSTALL_KEY: Adja meg ezt az értéket, ha a telepítő hozzáadja az alkalmazást a Programok hozzáadása/eltávolítása a Microsoft Windowsban. Az alkalmazások a HKLM\Software\Microsoft\Windows\CurrentVersion beállításkulcs hozzáadásával hozzáadják magukat a programok hozzáadásához/eltávolításához.
- FILEPATH: Adja meg ezt az értéket, ha a telepítő nem adja hozzá az alkalmazást a programok hozzáadásához/eltávolításához.
- OPAQUE: Adja meg ezt az értéket, ha a beállításkulcs vagy a fájl elérési útja nem vonatkozik a telepítési forgatókönyvre. Ez az érték lehetővé teszi az azonosító paraméter egyéni információinak megadását.

Az azonosító paraméterhez megadható érték a sémaparaméterhez megadott értéktől függ:

- Ha UNINSTALL_KEY a sémaparaméterhez, adja meg a HKLM\Software\Microsoft\Windows\CurrentVersion beállításkulcsban beállított alkalmazás nevét. Ha például a beállításkulcs HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, adja meg a MyAppot az azonosító paraméterhez.
- Ha a sémaparaméterHEZ a FILEPATH paramétert adja meg, adja meg a szerelvényt azonosító paraméterként telepítő végrehajtható fájl teljes elérési útját.
– Ha OPAQUE értéket ad meg a sémaparaméterhez, az azonosító paraméterként bármilyen adatot megadhat. A megadott adatokat idézőjelek közé kell foglalni ("").

A leírási paraméter lehetővé teszi a telepíteni kívánt alkalmazás leíró szövegének megadását. Ez az információ a hivatkozások számbavételekor jelenik meg.
/csendes Letiltja az összes kimenet megjelenítését.
/u assemblyName Eltávolít egy szerelvényt a globális szerelvény-gyorsítótárból.
/uf assemblyName A megadott szerelvény eltávolítására kényszeríti a szerelvényre mutató összes hivatkozást.

A beállítás megadása egyenértékű az /u és /f beállítások együttes megadásával. Megjegyzés: Ezzel a beállítással nem távolíthat el a Microsoft Windows Installer használatával telepített szerelvényt. Ha megkísérli ezt a műveletet, az eszköz hibaüzenetet jelenít meg.
/ul assemblyListFile Eltávolítja a assemblyListFile fájlban megadott egy vagy több szerelvényt a globális szerelvény-gyorsítótárból.
/u[ngen] assemblyName Eltávolít egy adott szerelvényt a globális szerelvény-gyorsítótárból. Ha a megadott szerelvény rendelkezik meglévő hivatkozásszámokkal, az eszköz megjeleníti a referenciaszámokat, és nem távolítja el a szerelvényt a globális szerelvény-gyorsítótárból. Megjegyzés: .NET-keretrendszer 2.0-s /ungen verziója nem támogatott. Ehelyett használja a uninstall Ngen.exe (natív képgenerátor) parancsát.

Az .NET-keretrendszer 1.0-s és 1.1-s verzióiban a /ungen megadásával Gacutil.exe eltávolítani a szerelvényt a natív képgyorsítótárból. Ez a gyorsítótár az Ngen.exe (natív képgenerátor) használatával létrehozott szerelvények natív lemezképeit tárolja.
/ur assemblyName

cselszövés

id

leírás
Eltávolít egy adott szerelvényre mutató hivatkozást a globális szerelvény-gyorsítótárból. Egy szerelvényre mutató hivatkozás eltávolításához meg kell adnia ugyanazokat a séma-, azonosító- és leírásparamétereket , amelyek a szerelvény telepítésekor az /i és /r (vagy /ir) beállításokkal lettek megadva. A paraméterekhez megadható érvényes értékek leírását a /r beállításban találja.

A beállítás megadása egyenértékű az /u és /r beállítások együttes megadásával.
/? Megjeleníti az eszköz parancsszintaxisát és beállításait.

Megjegyzések

Feljegyzés

A Gacutil.exe használatához rendszergazdai jogosultságokkal kell rendelkeznie.

Pontosabban Gacutil.exe lehetővé teszi, hogy szerelvényeket telepítsen a gyorsítótárba, távolítsa el őket a gyorsítótárból, és listázhassa a gyorsítótár tartalmát.

Gacutil.exe a Windows Installer által támogatott hivatkozásszámlálási sémához hasonló hivatkozásszámlálást támogató lehetőségeket biztosít. A Gacutil.exe két olyan alkalmazás telepítéséhez használható, amelyek ugyanazt a szerelvényt telepítik; az eszköz nyomon követi a szerelvényre mutató hivatkozások számát. Ennek eredményeképpen a szerelvény mindaddig a számítógépen marad, amíg mindkét alkalmazást el nem távolítja. Ha Gacutil.exe használ a tényleges terméktelepítésekhez, használja a hivatkozásszámlálást támogató beállításokat. Az /i és /r beállítások együttes használatával telepítsen egy szerelvényt, és adjon hozzá egy hivatkozást a számláláshoz. Az /u és /r beállítások együttes használatával eltávolíthatja a szerelvény hivatkozásainak számát. Vegye figyelembe, hogy a /i és /u beállítások használata önmagában nem támogatja a hivatkozásszámlálást. Ezek a lehetőségek a termékfejlesztés során használhatók, de a tényleges terméktelepítésekhez nem.

Az /il vagy /ul beállításokkal telepítheti vagy eltávolíthatja az ANSI-szövegfájlban tárolt szerelvények listáját. A szövegfájl tartalmát megfelelően kell formázni. Ha szövegfájlt szeretne használni szerelvények telepítéséhez, adja meg az egyes szerelvények elérési útját a fájl egy külön sorában. Az alábbi példa egy telepíteni kívánt szerelvényeket tartalmazó fájl tartalmát mutatja be.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Ha szövegfájlt szeretne használni a szerelvények eltávolításához, adja meg az egyes szerelvények teljes szerelvénynevét a fájl egy külön sorában. Az alábbi példa egy eltávolítandó szerelvényeket tartalmazó fájl tartalmát mutatja be.

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

Feljegyzés

Ha egy 79 és 91 karakternél hosszabb fájlnévvel rendelkező szerelvényt próbál telepíteni (a fájlkiterjesztés kivételével), a következő hibát okozhatja:

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

Ennek az az oka, hogy belsőleg Gacutil.exe legfeljebb MAX_PATH karakterből álló útvonalat hoz létre, amely a következő elemekből áll:

  • GAC-gyökér – 34 karakter (azaz C:\Windows\Microsoft.NET\assembly\)
  • Architektúra – 7 vagy 9 karakter (azazGAC_32\, GAC_64\) GAC_MSIL
  • AssemblyName - Legfeljebb 91 karakter, a többi elem méretétől függően (pl. System.Xml.Linq\)
  • AssemblyInfo - 31-48 karakter vagy több, amely a következőkből áll:
    • Keretrendszer - 5 karakter (pl. v4.0_)
    • AssemblyVersion - 8-24 karakter (pl. 9.0.1000.0_)
    • AssemblyLanguage - 1-8 karakter (pl. de_, sr-Cyrl_)
    • PublicKey - 17 karakter (pl. 31bf3856ad364e35\)
  • DllFileName – Legfeljebb 91 + 4 karakter (azaz <AssemblyName>.dll)

Példák

Az alábbi parancs telepíti a szerelvényt mydll.dll a globális szerelvény-gyorsítótárba.

gacutil /i mydll.dll

Az alábbi parancs eltávolítja a szerelvényt hello a globális szerelvény-gyorsítótárból, ha a szerelvényhez nincs hivatkozási szám.

gacutil /u hello

Vegye figyelembe, hogy az előző parancs több szerelvényt is eltávolíthat a szerelvény-gyorsítótárból, mert a szerelvény neve nincs teljesen megadva. Ha például az 1.0.0.0-s és a 3.2.2.1-es hello verzió is telepítve van a gyorsítótárban, a parancs gacutil /u hello mindkét szerelvényt eltávolítja.

Az alábbi példában elkerülheti, hogy egynél több szerelvényt távolítson el. Ez a parancs csak a hello teljes verziószámnak, kultúrának és nyilvános kulcsnak megfelelő szerelvényt távolítja el.

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

Az alábbi parancs telepíti a fájlban assemblyList.txt megadott szerelvényeket a globális szerelvény-gyorsítótárba.

gacutil /il assemblyList.txt

Az alábbi parancs eltávolítja a fájlban assemblyList.txt megadott szerelvényeket a globális szerelvény-gyorsítótárból.

gacutil /ul assemblyList.txt

A következő parancs a globális szerelvény-gyorsítótárba települ myDll.dll , és hozzáad egy hivatkozást a számláláshoz. A szerelvényt myDll.dll az alkalmazás MyApphasználja. A UNINSTALL_KEY MyApp paraméter megadja azt a beállításkulcsot, amely hozzáadja MyApp a Windows programok hozzáadásához/eltávolításához. A leírási paraméter a következőként My Application Descriptionvan megadva: .

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

A következő parancs a globális szerelvény-gyorsítótárba települ myDll.dll , és hozzáad egy hivatkozást a számláláshoz. A sémaparaméter és FILEPATHaz azonosító paraméter c:\applications\myApp\myApp.exeadja meg a leírási paramétert MyApptelepítő myDll.dll. alkalmazás elérési útját.

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

A következő parancs a globális szerelvény-gyorsítótárba települ myDll.dll , és hozzáad egy hivatkozást a számláláshoz. A sémaparaméter OPAQUElehetővé teszi az azonosító- és leírásparaméterek testreszabását.

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

Az alábbi parancs eltávolítja az alkalmazás myAppáltal hivatkozott hivatkozástmyDll.dll. Ha ez az utolsó hivatkozás a szerelvényre, akkor a szerelvényt is eltávolítja a globális szerelvény-gyorsítótárból.

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

Az alábbi parancs a globális szerelvény-gyorsítótár tartalmát sorolja fel.

gacutil /l

Lásd még