Gacutil.exe (программа глобального кэша сборок)Gacutil.exe (Global Assembly Cache Tool)

С помощью программы глобального кэша сборок можно просматривать содержимое глобального кэша сборок и кэша загрузки, а также управлять им.The Global Assembly Cache tool allows you to view and manipulate the contents of the global assembly cache and download cache.

Эта программа автоматически устанавливается вместе с Visual Studio.This tool is automatically installed with Visual Studio. Чтобы применить этот инструмент, воспользуйтесь командной строкой разработчика (или командной строкой Visual Studio в Windows 7).To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7). Дополнительные сведения см. в разделе Командные строки.For more information, see Command Prompts.

В командной строке введите следующее.At the command prompt, type the following:

СинтаксисSyntax

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]  

ПараметрыParameters

АргументArgument Описание:Description
имя_сборкиassemblyName Имя сборки.The name of an assembly. Можно предоставить либо частично указанное имя сборки, например myAssembly, либо полное имя сборки, например myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.You can supply either a partially specified assembly name such as myAssembly or a fully specified assembly name such as myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPathassemblyPath Имя файла, содержащего манифест сборки.The name of a file that contains an assembly manifest.
assemblyListFileassemblyListFile Путь к текстовому файлу ANSI, в котором перечислены устанавливаемые или удаляемые сборки.The path to an ANSI text file that lists assemblies to install or uninstall. Чтобы использовать текстовый файл для установки сборок, укажите путь к каждой сборке в отдельной строке файла.To use a text file to install assemblies, specify the path to each assembly on a separate line in the file. Программа интерпретирует относительные пути относительно расположения assemblyListFile.The tool interprets relative paths, relative to the location of the assemblyListFile. Чтобы использовать текстовый файл для удаления сборок, укажите в нем полное имя каждой сборки в отдельной строке.To use a text file to uninstall assemblies, specify the fully qualified assembly name for each assembly on a separate line in the file. Примеры содержимого списка assemblyListFile приведены ниже в этом разделе.See the assemblyListFile contents examples later in this topic.
ПараметрOption Описание:Description
/cdl/cdl Удаляет содержимое кэша загрузки.Deletes the contents of the download cache.
/f/f Чтобы принудительно переустановить сборку, укажите этот параметр с ключом /i или /il.Specify this option with the /i or /il options to force an assembly to reinstall. Если сборка с этим именем уже существует в глобальном кэше сборок, она будет перезаписана.If an assembly with the same name already exists in the global assembly cache, the tool overwrites it.
/h[elp]/h[elp] Отображает синтаксис команд и параметров программы.Displays command syntax and options for the tool.
/i assemblyPath/i assemblyPath Устанавливает сборку в глобальный кэш сборок.Installs an assembly into the global assembly cache.
/if assemblyPath/if assemblyPath Устанавливает сборку в глобальный кэш сборок.Installs an assembly into the global assembly cache. Если сборка с этим именем уже существует в глобальном кэше сборок, она будет перезаписана.If an assembly with the same name already exists in the global assembly cache, the tool overwrites it.

Этот параметр аналогичен одновременному указанию параметров /i и /f.Specifying this option is equivalent to specifying the /i and /f options together.
/il assemblyListFile/il assemblyListFile Устанавливает одну или несколько сборок, перечисленных в файле assemblyListFile, в глобальный кэш сборок.Installs one or more assemblies specified in assemblyListFile into the global assembly cache.
/ir assemblyPath/ir assemblyPath

schemescheme

idid

descriptiondescription
Устанавливает сборку в глобальный кэш сборок и добавляет ссылку для счетчика сборки.Installs an assembly into the global assembly cache and adds a reference to count the assembly. Параметры assemblyPath, scheme, id и description являются обязательными.You must specify the assemblyPath, scheme, id,and description parameters with this option. Описание допустимых значений для этих параметров см. в описании параметра /r.For a description of the valid values you can specify for these parameters, see the /r option.

Этот параметр аналогичен одновременному указанию параметров /i и /r.Specifying this option is equivalent to specifying the /i and /r options together.
/l [assemblyName]/l [assemblyName] Отображает содержимое глобального кэша сборок.Lists the contents of the global assembly cache. Если задан параметр assemblyName, отображаются только сборки с соответствующими именами.If you specify the assemblyName parameter, the tool lists only the assemblies matching that name.
/ldl/ldl Выводит содержимое кэша загруженных файлов.Lists the contents of the downloaded files cache.
/lr [assemblyName]/lr [assemblyName] Отображает все сборки и соответствующие счетчики ссылок.Lists all assemblies and their corresponding reference counts. Если задан параметр assemblyName, отображаются только сборки с соответствующими именами и их счетчики ссылок.If you specify the assemblyName parameter, the tool lists only the assemblies matching that name and their corresponding reference counts.
/nologo/nologo Отключает отображение эмблемы Майкрософт при запуске.Suppresses the Microsoft startup banner display.
/r [assemblyName | assemblyPath]/r [assemblyName | assemblyPath]

schemescheme

idid

descriptiondescription
Задает отслеживаемую ссылку для устанавливаемых или удаляемых сборок.Specifies a traced reference to an assembly or assemblies to install or uninstall. Укажите этот параметр с параметрами /i, /il, /u или /ul.Specify this option with the /i, /il, /u, or /ul options.

Чтобы установить сборку, укажите параметры assemblyPath, scheme, id и description с этим параметром.To install an assembly, specify the assemblyPath, scheme, id,and description parameters with this option. Чтобы удалить сборку, укажите параметры assemblyName, scheme, id и description.To uninstall an assembly, specify the assemblyName, scheme, id,and description parameters.

Чтобы удалить ссылку на сборку, необходимо задать те же параметры scheme, id и description с параметрами /i и /r (или /ir), которые были указаны при установке сборки.To remove a reference to an assembly, you must specify the same scheme, id, and description parameters that were specified with the /i and /r (or /ir) options when the assembly was installed. При удалении сборки она также удаляется из глобального кэша сборок, если она является последней удаляемой ссылкой и на нее не ссылаются другие ссылки в установщике Windows.If you are uninstalling an assembly, the tool also removes the assembly from the global assembly cache if it is the last reference to remove and if Windows Installer has no outstanding references to the assembly.

Параметр scheme задает тип схемы установки.The scheme parameter specifies the type of installation scheme. Можно указать одно из следующих значений.You can specify one of the following values:

— UNINSTALL_KEY — задайте это значение, если приложение добавляется в компонент "Установка и удаление программ" операционной системы Microsoft Windows.- UNINSTALL_KEY: Specify this value if the installer adds the application to Add/Remove Programs in Microsoft Windows. Добавление приложений в компонент "Установка и удаление программ" осуществляется путем добавления раздела реестра в HKLM\Software\Microsoft\Windows\CurrentVersion.Applications add themselves to Add/Remove Programs by adding a registry key to HKLM\Software\Microsoft\Windows\CurrentVersion.
— FILEPATH — задайте это значение, если приложение не добавляется в компонент "Установка и удаление программ".- FILEPATH: Specify this value if the installer does not add the application to Add/Remove Programs.
— OPAQUE — задайте это значение, если раздел реестра или путь к файлу не используется для этого сценария установки.- OPAQUE: Specify this value if supplying a registry key or file path does not apply to your installation scenario. Это значение позволяет задать пользовательские сведения для параметра id.This value allows you to specify custom information for the id parameter.

Значение параметра id зависит от значения параметра scheme:The value to specify for the id parameter depends on the value specified for the scheme parameter:

— Если значение параметра scheme равно "UNINSTALL_KEY", укажите имя приложения, задаваемое в разделе реестра HKLM\Software\Microsoft\Windows\CurrentVersion.- If you specify UNINSTALL_KEY for the scheme parameter, specify the name of the application set in the HKLM\Software\Microsoft\Windows\CurrentVersion registry key. Например, если раздел реестра называется HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, параметр id должен иметь значение "MyApp".For example, if the registry key is HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, specify MyApp for the id parameter.
— Если значение параметра scheme равно "FILEPATH", параметр id должен содержать полный путь к исполняемому файлу приложения, которое устанавливает сборку.- If you specify FILEPATH for the scheme parameter, specify the full path to the executable file that installs the assembly as the id parameter.
— Если значение параметра scheme равно "OPAQUE", параметр id может принимать любое значение.- If you specify OPAQUE for the scheme parameter, you can supply any piece of data as the id parameter. Значение параметра должно быть заключено в двойные кавычки ("").The data you specify must be enclosed in quotation marks ("").

В параметре description можно указать описание приложения, которое будет установлено.The description parameter allows you to specify descriptive text about the application to install. Эти сведения отображаются при перечислении ссылок.This information is displayed when references are enumerated.
/silent/silent Отключает отображение всех выходных данных.Suppresses the display of all output.
/u assemblyName/u assemblyName Удаляет установленную сборку из глобального кэша сборок.Uninstalls an assembly from the global assembly cache.
/uf assemblyName/uf assemblyName Принудительно удаляет указанную сборку путем удаления всех ссылок на нее.Forces a specified assembly to uninstall by removing all references to the assembly.

Этот параметр аналогичен одновременному указанию параметров /u и /f.Specifying this option is equivalent to specifying the /u and /f options together. Примечание: этот способ не подходит для удаления сборок, установленных с помощью установщика Microsoft Windows.Note: You cannot use this option to remove an assembly that was installed using Microsoft Windows Installer. При попытке удаления такой сборки будет выведено сообщение об ошибке.If you attempt this operation, the tool displays an error message.
/ul assemblyListFile/ul assemblyListFile Удаляет из глобального кэша сборок одну или несколько сборок, список которых содержится в файле assemblyListFile.Uninstalls one or more assemblies specified in assemblyListFile from the global assembly cache.
/u[ngen] assemblyName/u[ngen] assemblyName Удаляет указанную сборку из глобального кэша сборок.Uninstalls a specified assembly from the global assembly cache. Если для заданной сборки существуют счетчики ссылок, они отображаются, а сборка не удаляется из глобального кэша сборок.If the specified assembly has existing reference counts, the tool displays the reference counts and does not remove the assembly from the global assembly cache. Примечание: в .NET Framework 2.0 параметр /ungen не поддерживается.Note: In the .NET Framework version 2.0, /ungen is not supported. Вместо этого используйте команду uninstall программы Ngen.exe (генератор образов в машинном коде).Instead, use the uninstall command of the Ngen.exe (Native Image Generator).

В .NET Framework версий 1.0 и 1.1 при указании параметра /ungen программа Gacutil.exe удаляет сборку из кэша образов в машинном коде.In the .NET Framework versions 1.0 and 1.1, specifying /ungen causes Gacutil.exe to remove the assembly from the native image cache. В этом кэше хранятся образы в машинном коде для сборок, созданных с помощью программы Ngen.exe (генератор образов в машинном коде).This cache stores the native images for assemblies that have been created using the Ngen.exe (Native Image Generator).
/ur assemblyName/ur assemblyName

schemescheme

idid

descriptiondescription
Удаляет ссылку на указанную сборку из глобального кэша сборок.Uninstalls a reference to a specified assembly from the global assembly cache. Чтобы удалить ссылку на сборку, необходимо задать те же параметры scheme, id и description с параметрами /i и /r (или /ir), которые были указаны при установке сборки.To remove a reference to an assembly, you must specify the same scheme, id, and description parameters that were specified with the /i and /r (or /ir) options when the assembly was installed. Описание допустимых значений для этих параметров см. в описании параметра /r.For a description of the valid values you can specify for these parameters, see the /r option.

Этот параметр аналогичен одновременному указанию параметров /u и /r.Specifying this option is equivalent to specifying the /u and /r options together.
/?/? Отображает синтаксис команд и параметров программы.Displays command syntax and options for the tool.

ПримечанияRemarks

Примечание

Чтобы использовать программу Gacutil.exe, необходимы права администратора.You must have administrator privileges to use Gacutil.exe.

С помощью программы Gacutil.exe можно устанавливать и удалять сборки из кэша и отображать содержимое кэша.Specifically, Gacutil.exe allows you to install assemblies into the cache, remove them from the cache, and list the contents of the cache.

Программа Gacutil.exe включает в себя параметры, с помощью которых осуществляется подсчет ссылок, аналогичный схеме подсчета, поддерживаемой установщиком Windows.Gacutil.exe provides options that support reference counting similar to the reference counting scheme supported by Windows Installer. Программа Gacutil.exe позволяет устанавливать два приложения, которые, в свою очередь, устанавливают одну и ту же сборку. Программа отслеживает число ссылок на сборку.You can use Gacutil.exe to install two applications that install the same assembly; the tool keeps track of the number of references to the assembly. В результате сборка будет оставаться на компьютере до тех пор, пока оба приложения не будут удалены.As a result, the assembly will remain on the computer until both applications are uninstalled. При использовании программы Gacutil.exe для установки программных продуктов задавайте параметры, поддерживающие подсчет ссылок.If you are using Gacutil.exe for actual product installations, use the options that support reference counting. Чтобы установить сборку и добавить ссылку для подсчета, укажите параметры /i и /r.Use the /i and /r options together to install an assembly and add a reference to count it. Чтобы удалить подсчет ссылок для сборки, укажите параметры /u и /r.Use the /u and /r options together to remove a reference count for an assembly. Помните, что при указании только одного параметра /i или /u подсчет ссылок осуществляться не будет.Be aware that using the /i and /u options alone does not support reference counting. Эти параметры можно использовать во время разработки программного продукта, но не при установке готового программного обеспечения.These options are appropriate for use during product development but not for actual product installations.

Для установки или удаления списка сборок, хранящегося в текстовом файле ANSI, укажите параметры /il или /ul.Use the /il or /ul options to install or uninstall a list of assemblies stored in an ANSI text file. Содержимое текстового файла должно иметь правильный формат.The contents of the text file must be formatted correctly. Чтобы использовать текстовый файл для установки сборок, укажите путь к каждой сборке в отдельной строке файла.To use a text file to install assemblies, specify the path to each assembly on a separate line in the file. Ниже приведен пример содержимого файла со списком устанавливаемых сборок.The following example demonstrates the contents of a file containing assemblies to install.

myAssembly1.dll  
myAssembly2.dll  
myAssembly3.dll  

Чтобы использовать текстовый файл для удаления сборок, укажите в нем полное имя каждой сборки в отдельной строке.To use a text file to uninstall assemblies, specify the fully qualified assembly name for each assembly on a separate line in the file. Ниже приведен пример содержимого файла со списком удаляемых сборок.The following example demonstrates the contents of a file containing assemblies to uninstall.

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  

ПримерыExamples

Следующая команда устанавливает сборку mydll.dll в глобальный кэш сборок.The following command installs the assembly mydll.dll into the global assembly cache.

gacutil /i mydll.dll  

Следующая команда удаляет сборку hello из глобального кэша сборок, если для нее не существует подсчет ссылок.The following command removes the assembly hello from the global assembly cache as long as no reference counts exist for the assembly.

gacutil /u hello  

Обратите внимание, что предыдущая команда может удалить несколько сборок из глобального кэша сборок, так как имя сборки задано не полностью.Note that the previous command might remove more than one assembly from the assembly cache because the assembly name is not fully specified. Если в кэше установлены сборки hello версий 1.0.0.0 и 3.2.2.1, команда gacutil /u hello удалит обе сборки.For example, if both version 1.0.0.0 and 3.2.2.1 of hello are installed in the cache, the command gacutil /u hello removes both of the assemblies.

В следующем примере рассмотрена команда, позволяющая избежать удаления нескольких сборок.Use the following example to avoid removing more than one assembly. Эта команда удаляет только ту версию сборки hello, которая соответствует заданным полному номеру версии, языку и региональным параметрам, и открытому ключу.This command removes only the hello assembly that matches the fully specified version number, culture, and public key.

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

Следующая команда устанавливает сборки, перечисленные в файле assemblyList.txt, в глобальный кэш сборок.The following command installs the assemblies specified in the file assemblyList.txt into the global assembly cache.

gacutil /il assemblyList.txt

Следующая команда удаляет сборки, перечисленные в файле assemblyList.txt, из глобального кэша сборок.The following command removes the assemblies specified in the file assemblyList.txt from the global assembly cache.

gacutil /ul assemblyList.txt

Следующая команда устанавливает myDll.dll в глобальный кэш сборок и добавляет ссылку для счетчика.The following command installs myDll.dll into the global assembly cache and adds a reference to count it. Сборка myDll.dll используется приложением MyApp.The assembly myDll.dll is used by the application MyApp. Параметр UNINSTALL_KEY MyApp задает раздел реестра, который добавляет приложение MyApp в компонент "Установка и удаление программ" в ОС Windows.The UNINSTALL_KEY MyApp parameter specifies the registry key that adds MyApp to Add/Remove Programs in Windows. Параметр описания указывается как My Application Description.The description parameter is specified as My Application Description.

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

Следующая команда устанавливает myDll.dll в глобальный кэш сборок и добавляет ссылку для счетчика.The following command installs myDll.dll into the global assembly cache and adds a reference to count it. Значение параметра "scheme" FILEPATH и значение параметра "id" c:\applications\myApp\myApp.exe задают путь к приложению, которое устанавливает myDll.dll.. Значение параметра "description" — MyApp.The scheme parameter, FILEPATH, and the id parameter, c:\applications\myApp\myApp.exe, specify the path to the application that is installing myDll.dll. The description parameter is specified as MyApp.

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

Следующая команда устанавливает myDll.dll в глобальный кэш сборок и добавляет ссылку для счетчика.The following command installs myDll.dll into the global assembly cache and adds a reference to count it. Значение параметра "scheme", заданное как OPAQUE, позволяет указывать любые значения для параметров "id" и "description".The scheme parameter, OPAQUE, allows you to customize the id and description parameters.

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

Следующая команда удаляет ссылку на myDll.dll из приложения myApp.The following command removes the reference to myDll.dll by the application myApp. Если это последняя ссылка на сборку, сборка будет удалена из глобального кэша сборок.If this is the last reference to the assembly, it will also remove the assembly from the global assembly cache.

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

Следующая команда выводит содержимое глобального кэша сборок.The following command lists the contents of the global assembly cache.

gacutil /l  

См. такжеSee Also

ИнструментыTools
Глобальный кэш сборокGlobal Assembly Cache
Regasm.exe (средство регистрации сборок)Regasm.exe (Assembly Registration Tool)
Командные строкиCommand Prompts