1、Sn.exe(强名称工具)
下面的命令创建一个新的随机密钥对并将其存储在 keyPair.snk 中。
sn -k keyPair.snk
下面的命令将 keyPair.snk 中的密钥存储在强名称 CSP 中的容器 MyContainer 中。
sn -i keyPair.snk MyContainer
下面的命令从 keyPair.snk 中提取公钥并将其存储在 publicKey.snk 中。
sn -p keyPair.snk publicKey.snk
下面的命令显示公钥和 publicKey.snk 包含的公钥的标记。
sn -tp publicKey.snk
下面的命令验证程序集 MyAsm.dll。
sn -v MyAsm.dll
下面的命令从默认 CSP 中删除 MyContainer。
sn -d MyContainer
2、Al.exe(程序集链接器)
以下命令使用 t2.netmodule 模块中的程序集创建可执行文件 t2a.exe。 入口点是 MyClass 中的 Main 方法。
al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main
3、Gacutil.exe(全局程序集缓存工具)
全局程序集缓存工具使您可以查看和操作全局程序集缓存和下载缓存的内容。 必须具有管理员特权才能使用 Gacutil.exe。 |
具体说来,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