全局程序集缓存工具(Gacutil.exe)用法详解

全局程序集缓存工具 (Gacutil.exe)

全局程序集缓存工具使您可以查看和操作全局程序集缓存和下载缓存的内容。

复制

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


将程序集安装到全局程序集缓存中。


/ifassemblyPath


将程序集安装到全局程序集缓存中。如果全局程序集缓存中已经存在同名的程序集,全局程序集缓存工具将改写该程序集。

指定此选项相当于同时指定 /i 和 /f 选项。


/il assemblyListFile


将 assemblyListFile 中指定的一个或多个程序集安装到全局程序集缓存中。


/irassemblyPath

scheme

id

description


将程序集安装到全局程序集缓存中,并添加引用以对程序集进行计数。使用此选项时必须指定assemblyPathschemeid和 description 参数。有关可为这些参数指定的有效值的说明,请参见 /r 选项。

指定此选项相当于同时指定 /i 和 /r 选项。


/l[assemblyName]


列出全局程序集缓存的内容。如果指定 assemblyName 参数,则全局程序集缓存工具只列出与该名称匹配的程序集。


/ldl


列出下载文件缓存的内容。


/lr[assemblyName]


列出所有程序集及其相应的引用数。如果指定 assemblyName 参数,则该工具只列出与该名称匹配的程序集及其相应的引用数。


/nologo


取消显示 Microsoft 启动标题。


/r[assemblyName | assemblyPath]

scheme

id

description


指定对要安装或卸载的一个或多个程序集的跟踪引用。与 /i/il/u 或 /ul 选项一起指定此选项。

若要安装程序集,请在使用此选项的同时指定 assemblyPathschemeid和 description 参数。若要卸载程序集,请指定 assemblyNameschemeid和 description 参数。

若要移除对程序集的引用,必须指定在安装程序集时使用 /i 和 /r(或 /ir)选项指定的 schemeid 和description 参数。如果卸载程序集,则全局程序集缓存工具还从全局程序集缓存中移除该程序集,条件是它是最后一个要移除的引用,并且 Windows Installer 没有对该程序集的未决引用。

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,请指定 MyApp 作为 id 参数。
  • 如果为 scheme 参数指定 FILEPATH,请将安装程序集的可执行文件的完整路径指定为 id 参数。
  • 如果为 scheme 参数指定 OPAQUE,则可以将任何一段数据作为 id 参数提供。所指定的数据必须用引号 ("") 括起来。

description 参数允许您指定关于要安装的应用程序的描述性文本。当枚举引用时,显示此信息。


/silent


取消所有输出的显示。


/uassemblyName


从全局程序集缓存中卸载程序集。


/ufassemblyName


通过移除对程序集的所有引用来强制卸载指定的程序集。

指定此选项相当于同时指定 /u 和 /f 选项。

注意

不能使用此选项移除使用 Microsoft Windows Installer 所安装的程序集。如果尝试此操作,则全局程序集缓存工具显示错误信息。


/ul assemblyListFile


从全局程序集缓存中卸载 assemblyListFile 中指定的一个或多个程序集。


/u[ngen]assemblyName


从全局程序集缓存中卸载指定的程序集。如果指定的程序集存在现有引用数,则全局程序集缓存工具显示引用数,而且不从全局程序集缓存中移除该程序集。

注意

在 .NET Framework 2.0 版中,不支持 /ungen。而是使用本机映像生成器 (Ngen.exe) 的 uninstall命令。

在 .NET Framework 1.0 和 1.1 版中,指定 /ungen 将使 Gacutil.exe 从本机映像缓存中移除该程序集。此缓存存储了使用本机映像生成器 (Ngen.exe) 创建的程序集的本机映像。


/urassemblyName

scheme

id

description


从全局程序集缓存中卸载对指定程序集的引用。若要移除对程序集的引用,必须指定在安装程序集时使用 /i和 /r(或 /ir)选项指定的 schemeid 和 description 参数。有关可为这些参数指定的有效值的说明,请参见 /r 选项。

指定此选项相当于同时指定 /u 和 /r 选项。


/?


显示该工具的命令语法和选项。

备注


全局程序集缓存工具提供与 Windows 外壳程序扩展 (Shfusion.dll) 大致相同的缓存查看功能,但它更适于生成脚本、生成文件和批处理文件。

具体说来,Gacutil.exe 使您得以将程序集安装到缓存中、从缓存中移除程序集以及列出缓存的内容。

Gacutil.exe 提供支持引用计数的选项,类似于 Windows Installer 所支持的引用计数方案。您可以使用 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“添加/删除程序”中的注册表项。description 参数被指定为 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 应用程序的路径。description 参数被指定为MyApp

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

以下命令将 myDll.dll 安装到全局程序集缓存中并添加引用对其进行计算。scheme 参数 OPAQUE 允许您自定义 id 和 description 参数。

复制

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

以下命令移除应用程序 myApp 对 myDll.dll 的引用。如果这是对该程序集的最后一个引用,则将同时从全局程序集缓存中移除该程序集。

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

下面的命令列出全局程序集缓存的内容。

复制

gacutil /l
时间: 2024-11-25 11:22:45

全局程序集缓存工具(Gacutil.exe)用法详解的相关文章

MySQL Server 5.0–安装及配置/MySQLInstanceConfig.exe用法详解

MySQL Server 5.0–安装及配置/MySQLInstanceConfig.exe用法详解 http://blog.csdn.net/feihong247/article/details/7791105 配置MySQL步骤: 1.       运行MySQL Server安装目录下bin/MySQLInstanceConfig.exe.出现如下所示的向导界面 . 点击"Next"进入下一步. 2.       如果MySQLInstanceConfig在MySQL Serve

Gacutil.exe(全局程序集缓存工具)

全局程序集缓存 .NET Framework (current version) 其他版本 安装有公共语言运行时的每台计算机都具有称为全局程序集缓存的计算机范围内的代码缓存.全局程序集缓存中存储了专门指定给由计算机中若干应用程序共享的程序集. 应当仅在需要时才将程序集安装到全局程序集缓存中以进行共享.一般原则是:程序集依赖项保持专用,并在应用程序目录中定位程序集,除非明确要求共享程序集.另外,不必为了使 COM 互操作或非托管代码可以访问程序集而将程序集安装到全局程序集缓存. 注意 在有些情况下

Register DLL Assembly Gacutil.exe(全局程序集缓存工具)

全局程序集缓存工具使你可以查看和操作全局程序集缓存和下载缓存的内容. 此工具会自动随 Visual Studio 一起安装. 若要运行此工具,请使用开发人员命令提示(或 Windows 7 中的 Visual Studio 命令提示). 使用方法如下: 方法1: (1).开始菜单->Microsoft Visual Studio 2010 ->Visual Studio Tools->Visual Studio Command Prompt (2010) 命令提示,在控制台中输入 gac

[转]Mysql导入导出工具Mysqldump和Source命令用法详解

Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法. 在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,M

grep用法详解 grep与正则表达式

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. 主要参数    [options]主要参数:    -c:只输出匹配行的计数.    -I:不区分大 小写(只适用于单字符).    -h:查询多文件时不显示文件名.    -l:查询多文件时只输出包含匹配字符的文件名.    -n:显示匹配行及 行号.    -s

Python实用技巧:global关键字的用法详解

这篇文章主要介绍了python global关键字的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下: 想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念.global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例 一.变量作用域的说明 1.局部变量 1 def a(): 2 ## 菊部变量 - ,- 3 local = 1 4 print(local) 5 ## 全局无法使用,只有自己可用

Vue1.0用法详解

Vue.js 不支持 IE8 及其以下版本,因为 Vue.js 使用了 IE8 不能实现的 ECMAScript 5 特性. 开发环境部署 可参考使用 vue+webpack. 基本用法 1 2 3 4 5 6 7 8 9 10 11 <div id="app"> {{message}} <input v-model="message"> </div> new Vue({ ele: '#app', data: { message:

Nmap用法详解

nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息.nmap支持很多扫描技术,例如:UDP.TCP connect().TCP SYN(半开扫描).ftp代理(bounce攻击).反向标志.ICMP.FIN.ACK扫描.圣诞树(Xmas Tree).SYN扫描和null扫描.从扫描类型一节可以得到细节.nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫

CSS中伪类及伪元素用法详解

原文:CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的读者可以自己尝试: :active  大致效果为用鼠标点击时,元素增加特效,鼠标松开时,特效消失.多用在按钮的点击上. 写法: 这里id为box的是一div块,在css中首先设置了他的基本样式,下面为加入:active伪类后需要修改的样式. 未点击时: 点击之后: :active.:hover.: