Gacutil.exe (globalne narzędzie pamięci podręcznej zestawów)

Narzędzie globalnej pamięci podręcznej zestawów umożliwia wyświetlenie zawartości globalnej pamięci podręcznej zestawów i wykonywanie na niej operacji oraz pobieranie pamięci podręcznej.

To narzędzie jest instalowane automatycznie z programem Visual Studio. Aby uruchomić to narzędzie, użyj wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell.

W wierszu polecenia wpisz następujące polecenie:

Składnia

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parametry

Argument Opis
Assemblyname Nazwa zestawu Można podać częściowo określoną nazwę zestawu, taką jak myAssembly lub w pełni określoną nazwę zestawu, taką jak myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPath Nazwa pliku, który zawiera manifest zestawu.
assemblyListFile Ścieżka do pliku tekstowego ANSI, który zawiera listę zestawów do zainstalowania lub odinstalowania. Aby użyć pliku tekstowego do instalowania zestawów, należy określić ścieżkę do każdego zestawu w oddzielnym wierszu w pliku. Narzędzie interpretuje ścieżki względne względem lokalizacji assemblyListFile. Aby użyć pliku tekstowego do odinstalowania zestawów, należy określić w pełni kwalifikowaną nazwę każdego zestawu w oddzielnym wierszu w pliku. Zobacz przykłady zawartości assemblyListFile w dalszej części tego tematu.
Opcja Opis
/Cdl Usuwa zawartość pamięci podręcznej pobierania.
/F Określ tę opcję za pomocą opcji /i lub /il , aby wymusić ponowne zainstalowanie zestawu. Jeśli zestaw o tej samej nazwie już istnieje w globalnej pamięci podręcznej zestawów, narzędzie zastępuje go.
/h[elp] Wyświetla składnię polecenia i opcje narzędzia.
/iassemblyPath Instaluje zestaw w globalnej pamięci podręcznej zestawów.
/ifassemblyPath Instaluje zestaw w globalnej pamięci podręcznej zestawów. Jeśli zestaw o tej samej nazwie już istnieje w globalnej pamięci podręcznej zestawów, narzędzie zastępuje go.

Określenie tej opcji jest równoważne określeniu /i i /f opcji razem.
/ilassemblyListFile Instaluje co najmniej jeden zestaw określony w pliku assemblyListFile w globalnej pamięci podręcznej zestawów.
/irassemblyPath

Schemat

id

opis
Instaluje zestaw w globalnej pamięci podręcznej zestawów i dodaje odwołanie, aby zliczyć zestaw. Należy określić parametr assemblyPath, scheme, id i description za pomocą tej opcji. Aby uzyskać opis prawidłowych wartości, które można określić dla tych parametrów, zobacz /r opcji.

Określenie tej opcji jest równoważne określeniu opcji /i i i /r razem.
/l [assemblyName] Wyświetla zawartość globalnej pamięci podręcznej zestawów. Jeśli określisz parametr assemblyName , narzędzie wyświetli listę tylko zestawów pasujących do tej nazwy.
/Ldl Wyświetla zawartość pamięci podręcznej pobranych plików.
/lr [assemblyName] Wyświetla listę wszystkich zestawów i liczbę odwołań do nich. Jeśli określisz parametr assemblyName , narzędzie wyświetli tylko zestawy pasujące do tej nazwy i odpowiadające im liczby odwołań.
/nologo Pomija wyświetlanie transparentu startowego firmy Microsoft.
/r [assemblyName | assemblyPath]

Schemat

id

opis
Określa śledzone odwołanie do zestawu lub zestawów, które mają zostać zainstalowane lub odinstalowane. Określ tę opcję za pomocą opcji /i, /il, /u lub /ul .

Aby zainstalować zestaw, określ parametr assemblyPath, scheme, id i description z tą opcją. Aby odinstalować zestaw, określ parametry assemblyName, scheme, id i description .

Aby usunąć odwołanie do zestawu, należy określić ten sam schemat, identyfikator i parametry opisu , które zostały określone z /i i /r (lub /ir) opcji podczas instalowania zestawu. W trakcie odinstalowywania zestawu narzędzie usuwa zestaw również z globalnej pamięci podręcznej zestawów, jeśli jest to ostatnie odwołanie do usunięcia i jeśli Instalator Windows nie ma innych odwołań do zestawu.

Parametr schematu określa typ schematu instalacji. Można określić jedną z następujących wartości:

- UNINSTALL_KEY: określ tę wartość, jeśli instalator doda aplikację do opcji Dodaj/Usuń programy w systemie Microsoft Windows. Aplikacje dodają same siebie do apletu Dodaj/Usuń programy przez dodanie klucza rejestru do gałęzi HKLM\Software\Microsoft\Windows\CurrentVersion.
- FILEPATH: Określ tę wartość, jeśli instalator nie dodaje aplikacji do dodaj/usuń programy.
- OPAQUE: Określ tę wartość, jeśli podanie klucza rejestru lub ścieżki pliku nie ma zastosowania do scenariusza instalacji. Ta wartość umożliwia określenie niestandardowych informacji dla parametru id .

Wartość określająca parametr id zależy od wartości określonej dla parametru schematu :

- Jeśli określisz UNINSTALL_KEY dla parametru schematu , określ nazwę aplikacji ustawionej w kluczu rejestru HKLM\Software\Microsoft\Windows\CurrentVersion. Jeśli na przykład klucz rejestru to HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, określ wartość MyApp dla parametru id .
— Jeśli określisz parametr FILEPATH dla schematu , określ pełną ścieżkę do pliku wykonywalnego, który instaluje zestaw jako parametr id .
- Jeśli określisz wartość OPAQUE dla parametru schematu , możesz podać dowolny element danych jako parametr id . Podane dane muszą być ujęte w znaki cudzysłowu ("").

Parametr description umożliwia określenie opisowego tekstu dotyczącego instalacji aplikacji. Te informacje są wyświetlane podczas wyliczania odwołań.
/Cichy Pomija wyświetlanie wszystkich danych wyjściowych.
/uassemblyName Odinstalowuje zestaw z globalnej pamięci podręcznej zestawów.
/ufassemblyName Wymusza odinstalowanie określonego zestawu przez usunięcie wszystkich odwołań do tego zestawu.

Określenie tej opcji jest równoważne określeniu /u i /f opcji razem. Uwaga: Nie można użyć tej opcji, aby usunąć zestaw, który został zainstalowany przy użyciu Instalatora Windows firmy Microsoft. Przy próbie wykonania tej operacji narzędzie wyświetli komunikat o błędzie.
/ulassemblyListFile Odinstalowuje co najmniej jeden zestaw określony w pliku assemblyListFile z globalnej pamięci podręcznej zestawów.
/u[ngen] assemblyName Odinstalowuje określony zestaw z globalnej pamięci podręcznej zestawów. Jeśli istnieją odwołania do określonego zestawu, narzędzie wyświetla liczbę odwołań i nie usuwa zestawu z globalnej pamięci podręcznej zestawów. Uwaga: W .NET Framework wersji 2.0 /ungen nie jest obsługiwane. Zamiast tego użyj uninstall polecenia Ngen.exe (generatora obrazów natywnych).

W .NET Framework w wersjach 1.0 i 1.1 określenie /ungen powoduje, że Gacutil.exe usunąć zestaw z natywnej pamięci podręcznej obrazów. Ta pamięć podręczna przechowuje obrazy natywne dla zestawów utworzonych przy użyciu Ngen.exe (generatora obrazów natywnych).
/urassemblyName

Schemat

id

opis
Odinstalowuje odwołanie do określonego zestawu z globalnej pamięci podręcznej zestawów. Aby usunąć odwołanie do zestawu, należy określić ten sam schemat, identyfikator i parametry opisu , które zostały określone z /i i /r (lub /ir) opcji podczas instalowania zestawu. Aby uzyskać opis prawidłowych wartości, które można określić dla tych parametrów, zobacz /r opcji.

Określenie tej opcji jest równoważne określeniu /u i /r opcji razem.
/? Wyświetla składnię polecenia i opcje narzędzia.

Uwagi

Uwaga

Aby użyć programu Gacutil.exe, trzeba mieć uprawnienia administratora.

W szczególności program Gacutil.exe umożliwia instalowanie zestawów w pamięci podręcznej, usuwanie ich z pamięci podręcznej oraz wyświetlanie zawartości pamięci podręcznej.

Program Gacutil.exe oferuje opcje, które obsługują zliczanie odwołań podobne do schematu zliczania odwołań obsługiwanego przez Instalatora Windows. Programu Gacutil.exe można użyć do zainstalowania dwóch aplikacji, które instalują ten sam zestaw; narzędzie przechowuje informacje o liczbie odwołań do zestawu. W rezultacie zestaw pozostanie na komputerze do czasu, aż obie aplikacje zostaną odinstalowane. Jeśli program Gacutil.exe jest używany do instalacji rzeczywistych produktów, należy używać opcji obsługujących zliczanie odwołań. Użyj opcji /i i i /r razem, aby zainstalować zestaw i dodać odwołanie, aby go zliczyć. Użyj opcji /u i /r razem, aby usunąć liczbę odwołań dla zestawu. Należy pamiętać, że użycie opcji /i i i /u nie obsługuje zliczania odwołań. Te opcje są odpowiednie do użycia podczas tworzenia produktu, ale nie podczas instalacji rzeczywistego produktu.

Użyj opcji /il lub /ul , aby zainstalować lub odinstalować listę zestawów przechowywanych w pliku tekstowym ANSI. Zawartość pliku tekstowego musi być poprawnie sformatowana. Aby użyć pliku tekstowego do instalowania zestawów, należy określić ścieżkę do każdego zestawu w oddzielnym wierszu w pliku. W poniższym przykładzie pokazano zawartość pliku zawierającego zestawy do zainstalowania.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Aby użyć pliku tekstowego do odinstalowania zestawów, należy określić w pełni kwalifikowaną nazwę każdego zestawu w oddzielnym wierszu w pliku. W poniższym przykładzie pokazano zawartość pliku zawierającego zestawy do odinstalowania.

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

Uwaga

Próba zainstalowania zestawu z nazwą pliku dłuższego niż od 79 do 91 znaków (z wyłączeniem rozszerzenia pliku) może spowodować następujący błąd:

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

Wynika to z tego, że wewnętrznie Gacutil.exe tworzy ścieżkę maksymalnie MAX_PATH znaków, która składa się z następujących elementów:

  • GAC Root — 34 znaki (tj. C:\Windows\Microsoft.NET\assembly\)
  • Architektura — 7 lub 9 znaków (tj. GAC_32\, GAC_64\, GAC_MSIL)
  • AssemblyName — do 91 znaków, w zależności od rozmiaru innych elementów (np. System.Xml.Linq\)
  • AssemblyInfo — od 31 do 48 znaków lub więcej składających się z:
    • Struktura — 5 znaków (np. v4.0_)
    • AssemblyVersion — od 8 do 24 znaków (np. 9.0.1000.0_)
    • AssemblyLanguage — od 1 do 8 znaków (np. de_, sr-Cyrl_)
    • PublicKey — 17 znaków (np. 31bf3856ad364e35\)
  • DllFileName — do 91 + 4 znaków (tj. <AssemblyName>.dll)

Przykłady

Następujące polecenie instaluje zestaw mydll.dll w globalnej pamięci podręcznej zestawów.

gacutil /i mydll.dll

Następujące polecenie usuwa zestaw hello z globalnej pamięci podręcznej zestawów, o ile nie istnieją żadne liczby odwołań dla zestawu.

gacutil /u hello

Należy zauważyć, że poprzednie polecenie może usunąć więcej niż jeden zestaw z globalnej pamięci podręcznej zestawów, ponieważ nazwa zestawu nie została w pełni określona. Jeśli na przykład obie wersje 1.0.0.0 i 3.2.2.1 hello są zainstalowane w pamięci podręcznej, polecenie gacutil /u hello usuwa oba zestawy.

Aby zapobiec usuwaniu więcej niż jednego zestawu, należy użyć składni z poniższego przykładu. To polecenie usuwa tylko hello zestaw zgodny z w pełni określonym numerem wersji, kulturą i kluczem publicznym.

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

Następujące polecenie instaluje zestawy określone w pliku assemblyList.txt w globalnej pamięci podręcznej zestawów.

gacutil /il assemblyList.txt

Następujące polecenie usuwa zestawy określone w pliku assemblyList.txt z globalnej pamięci podręcznej zestawów.

gacutil /ul assemblyList.txt

Następujące polecenie instaluje się w globalnej pamięci podręcznej zestawów myDll.dll i dodaje odwołanie, aby je zliczyć. Zestaw myDll.dll jest używany przez aplikację MyApp. Parametr UNINSTALL_KEY MyApp określa klucz rejestru, który dodaje MyApp do dodaj/usuń programy w systemie Windows. Parametr opisu jest określony jako My Application Description.

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

Następujące polecenie instaluje się w globalnej pamięci podręcznej zestawów myDll.dll i dodaje odwołanie, aby je zliczyć. Parametr schematu , FILEPATHi parametr id , c:\applications\myApp\myApp.exeokreśl ścieżkę do aplikacji, która instaluje myDll.dll. Parametr opisu jest określony jako MyApp.

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

Następujące polecenie instaluje się w globalnej pamięci podręcznej zestawów myDll.dll i dodaje odwołanie, aby je zliczyć. Parametr schematu OPAQUE, umożliwia dostosowanie parametrów identyfikatora i opisu.

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

Następujące polecenie usuwa odwołanie do myDll.dll elementu przez aplikację myApp. Jeśli jest to ostatnie odwołanie do tego zestawu, spowoduje to również usunięcie zestawu z globalnej pamięci podręcznej zestawów.

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

Poniższe polecenie wyświetla zawartość globalnej pamięci podręcznej zestawów.

gacutil /l

Zobacz też