Чтобы прочитать статью на английском языке, установите флажок Английский. Вы также можете просматривать текст на английском языке во всплывающем окне, наводя указатель мыши на текст.
Перевод
Английский

Gacutil.exe (Global Assembly Cache Tool)

 

С помощью программы глобального кэша сборок можно просматривать содержимое глобального кэша сборок и кэша загрузки, а также управлять им.

Это средство автоматически устанавливается с Visual Studio. Чтобы применить этот инструмент, воспользуйтесь командной строкой разработчика (или командную строку Visual Studio в Windows 7). Дополнительные сведения см. в разделе Командная строка разработчика для Visual Studio.

В командной строке введите следующее.


gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Аргумент

Описание

assemblyName

Имя сборки. Можно предоставить либо частично указанное имя сборки, например myAssembly, либо полное имя сборки, например myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.

assemblyPath

Имя файла, содержащего манифест сборки.

assemblyListFile

Путь к текстовому файлу ANSI, в котором перечислены устанавливаемые или удаляемые сборки. Чтобы использовать текстовый файл для установки сборок, укажите путь к каждой сборке в отдельной строке файла. Программа интерпретирует относительные пути относительно расположения assemblyListFile. Чтобы использовать текстовый файл для удаления сборок, укажите в нем полное имя каждой сборки в отдельной строке. Примеры содержимого assemblyListFile даны ниже в этом разделе.

ВАРИАНТ

Описание

/cdl

Удаляет содержимое кэша загрузки.

/f

Чтобы принудительно переустановить сборку, задайте этот параметр с ключом /i или /il. Если сборка с этим именем уже существует в глобальном кэше сборок, она будет перезаписана.

/h[elp]

Отображает синтаксис команд и параметров программы.

/i assemblyPath

Устанавливает сборку в глобальный кэш сборок.

/if assemblyPath

Устанавливает сборку в глобальный кэш сборок. Если сборка с этим именем уже существует в глобальном кэше сборок, она будет перезаписана.

Задание этого параметра аналогично одновременному заданию параметров /i и /f.

/il assemblyListFile

Устанавливает одну или несколько сборок, перечисленных в файле assemblyListFile, в глобальный кэш сборок.

/ir assemblyPath

scheme

ID

Описание

Устанавливает сборку в глобальный кэш сборок и добавляет ссылку для счетчика сборки. Параметры assemblyPath, scheme, iddescription являются обязательными. Описание допустимых значений для этих параметров см. в описании параметра /r.

Задание этого параметра аналогично одновременному заданию параметров /i и /r.

/l [assemblyName]

Отображает содержимое глобального кэша сборок. Если задан параметр assemblyName, отображаются только сборки с соответствующими именами.

/ldl

Выводит содержимое кэша загруженных файлов.

/lr [assemblyName]

Отображает все сборки и соответствующие счетчики ссылок. Если задан параметр assemblyName, отображаются только сборки с соответствующими именами и их счетчики ссылок.

/nologo

Отключает отображение эмблемы Майкрософт при запуске.

/r [assemblyName | assemblyPath]

scheme

ID

Описание

Задает отслеживаемую ссылку для устанавливаемых или удаляемых сборок. Этот параметр должен быть задан с ключом /i, /il, /u или /ul.

Чтобы установить сборку, задайте параметры assemblyPath, scheme, iddescription. Чтобы удалить сборку, задайте параметры assemblyName, scheme, iddescription.

Чтобы удалить ссылку на сборку, необходимо задать те же самые параметры, которые использовались при ее установке: scheme, id и description, указанные с параметрами /i и /r (или /ir). При удалении сборки она также удаляется из глобального кэша сборок, если она является последней удаляемой ссылкой и на нее не ссылаются другие ссылки в установщике Windows.

Параметр scheme задает тип схемы установки. Можно указать одно из следующих значений.

  • UNINSTALL_KEY — задайте это значение, если приложение добавляется в компонент "Установка и удаление программ" операционной системы Microsoft Windows. Добавление приложений в компонент "Установка и удаление программ" осуществляется путем добавления раздела реестра в HKLM\Software\Microsoft\Windows\CurrentVersion.

  • FILEPATH — задайте это значение, если приложение не добавляется в компонент "Установка и удаление программ".

  • OPAQUE — задайте это значение, если раздел реестра или путь к файлу не используется для этого сценария установки. Это значение позволяет задать пользовательские сведения для параметра id.

Значение параметра id зависит от значения параметра scheme.

  • Если значение параметра scheme задано как "UNINSTALL_KEY", укажите имя приложения, задаваемое в разделе реестра HKLM\Software\Microsoft\Windows\CurrentVersion. Например, если раздел реестра называется HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, значением параметра id должно быть "MyApp".

  • Если значение параметра scheme задано как "FILEPATH", значение параметра id должно содержать полный путь к исполняемому файлу приложения, которое устанавливает сборку.

  • Если значение параметра scheme задано как "OPAQUE", параметр id может принимать любое значение. Значение параметра должно быть заключено в двойные кавычки ("").

Параметр description служит для описания устанавливаемого приложения. Эти сведения отображаются при перечислении ссылок.

/silent

Отключает отображение всех выходных данных.

/u assemblyName

Удаляет установленную сборку из глобального кэша сборок.

/uf assemblyName

Принудительно удаляет указанную сборку путем удаления всех ссылок на нее.

Задание этого параметра аналогично одновременному заданию параметров /u и /f.

System_CAPS_noteПримечание

Сборки, установленные с помощью установщика Microsoft Windows, удалить таким способом невозможно. При попытке удаления такой сборки будет выведено сообщение об ошибке.

/ul assemblyListFile

Удаляет из глобального кэша сборок одну или несколько сборок, список которых содержится в файле assemblyListFile.

/u[ngen] assemblyName

Удаляет указанную сборку из глобального кэша сборок. Если для заданной сборки существуют счетчики ссылок, они отображаются, а сборка не удаляется из глобального кэша сборок.

System_CAPS_noteПримечание

В .NET Framework 2.0 параметр /ungen не поддерживается. Вместо этого следует использовать команду uninstall программы Ngen.exe (Native Image Generator).

В .NET Framework версий 1.0 и 1.1 при указании параметра /ungen программа Gacutil.exe удаляет сборку из кэша образов в машинном коде. В этом кэше хранятся образы в машинном коде для сборок, созданных с помощью Ngen.exe (Native Image Generator).

/ur assemblyName

scheme

ID

Описание

Удаляет ссылку на указанную сборку из глобального кэша сборок. Чтобы удалить ссылку на сборку, необходимо задать те же самые параметры, которые использовались при ее установке: scheme, id и description, указанные с параметрами /i и /r (или /ir). Описание допустимых значений для этих параметров см. в описании параметра /r.

Задание этого параметра аналогично одновременному заданию параметров /u и /r.

/?

Отображает синтаксис команд и параметров программы.

System_CAPS_noteПримечание

Чтобы использовать программу Gacutil.exe, необходимы права администратора.

С помощью программы Gacutil.exe можно устанавливать и удалять сборки из кэша и отображать содержимое кэша.

Программа Gacutil.exe включает в себя параметры, с помощью которых осуществляется подсчет ссылок, аналогичный схеме подсчета, поддерживаемой установщиком Windows. Программа Gacutil.exe позволяет устанавливать два приложения, которые, в свою очередь, устанавливают одну и ту же сборку. Программа отслеживает число ссылок на сборку. В результате сборка будет оставаться на компьютере до тех пор, пока оба приложения не будут удалены. При использовании программы Gacutil.exe для установки программных продуктов задавайте параметры, поддерживающие подсчет ссылок. Чтобы установить сборку и добавить ссылку для подсчета, задайте оба параметра: /i и /r. Чтобы удалить подсчет ссылок на сборку, задайте оба параметра: /u и /r. Помните, что при задании только одного параметра /i или /u подсчет ссылок осуществляться не будет. Эти параметры можно использовать во время разработки программного продукта, но не при установке готового программного обеспечения.

Параметры /il и /ul служат для установки или удаления списка сборок, хранящегося в текстовом файле ANSI. Содержимое текстового файла должно иметь правильный формат. Чтобы использовать текстовый файл для установки сборок, укажите путь к каждой сборке в отдельной строке файла. Ниже приведен пример содержимого файла со списком устанавливаемых сборок.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Чтобы использовать текстовый файл для удаления сборок, укажите в нем полное имя каждой сборки в отдельной строке. Ниже приведен пример содержимого файла со списком удаляемых сборок.

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

Следующая команда устанавливает сборку mydll.dll в глобальный кэш сборок.

gacutil /i mydll.dll

Следующая команда удаляет сборку hello из глобального кэша сборок, если для нее не существует подсчет ссылок.

gacutil /u hello

Обратите внимание, что предыдущая команда может удалить несколько сборок из глобального кэша сборок, так как имя сборки задано не полностью. Если в кэше установлены сборки hello версий 1.0.0.0 и 3.2.2.1, команда gacutil /u hello удалит обе сборки.

В следующем примере рассмотрена команда, позволяющая избежать удаления нескольких сборок. Эта команда удаляет только ту версию сборки hello, которая соответствует заданным полному номеру версии, языку и региональным параметрам, и открытому ключу.

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

Следующая команда устанавливает сборки, перечисленные в файле assemblyList.txt, в глобальный кэш сборок.

gacutil /il assemblyList.txt

Следующая команда удаляет сборки, перечисленные в файле assemblyList.txt, из глобального кэша сборок.

gacutil /ul assemblyList.txt

Следующая команда устанавливает myDll.dll в глобальный кэш сборок и добавляет ссылку для счетчика. Сборка myDll.dll используется приложением MyApp. Параметр UNINSTALL_KEY MyApp задает раздел реестра, который добавляет приложение MyApp в компонент "Установка и удаление программ" в ОС Windows. Параметр описания указывается как My Application Description.

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

Следующая команда устанавливает myDll.dll в глобальный кэш сборок и добавляет ссылку для счетчика. Значение параметра "scheme" FILEPATH и значение параметра "id" c:\applications\myApp\myApp.exe задают путь к приложению, которое устанавливает myDll.dll.. Значение параметра "desciption" — MyApp.

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

Следующая команда устанавливает myDll.dll в глобальный кэш сборок и добавляет ссылку для счетчика. Значение параметра схемы, равное OPAQUE, позволяет настроить аргументы id и описание.

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

Следующая команда удаляет ссылку на myDll.dll из приложения myApp. Если это последняя ссылка на сборку, сборка будет удалена из глобального кэша сборок.

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

Следующая команда выводит содержимое глобального кэша сборок.

Показ: