程序集链接器(Al.exe)工具使用详解

来源:互联网  作者:本站整理
摘要:“程序集链接器”是指从一个或多个文件(可以是模块,也可以是资源文件)生成一个带有程序集清单的文件。模块是不含程序集清单的“Microsoft中间语言”(MSIL)文件。…

选项说明

/algid:id
 指定一种算法以散列多文件程序集中的所有文件,包含程序集清单的文件除外。默认算法是 CALG_SHA1。有关其他算法,请参见 Platform SDK 文档中的 ALG_ID。对于 .NET Framework 的第一版,只有 CALG_SHA1 和 CALG_MD5 是有效的。
哈希值存储在程序集清单的文件表中。在安装和加载时,会对照相应的哈希值检查程序集文件。
还可以将此选项指定为任何模块的源代码中的自定义属性 ( System.Reflection.AssemblyAlgorithmIdAttribute)。

/base[address]:addr
 指定一个地址,运行时在用户计算机上在该地址加载 DLL。如果指定 DLL 的基址,而不是让操作系统在进程空间重新定位 DLL,应用程序的加载就会快一些。

/bugreport:filename
 创建包含有关报告 bug 的信息的文件 (filename)。

/comp[any]:text
 为程序集中的 Company 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。
如果不指定 /win32res,text 就会在 Microsoft Windows 资源管理器中显示为文件的 Company 属性。如果指定 /win32res,所指定资源文件中的公司信息就会在 Windows 资源管理器中显示为 Company 属性。
如果文本是空字符串 (""),Win32 Company 资源就会显示为一个空格。
如果指定 /win32res,/company 就不会影响 Win32 资源信息。

还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 ( System.Reflection.AssemblyCompanyAttribute)。

/config[uration]:text
 为程序集中的 Configuration 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。
如果文本是空字符串,Win32 Configuration 资源就会显示为一个空格。
还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 ( System.Reflection.AssemblyConfigurationAttribute)。

/copy[right]:text
 为程序集中的 Copyright 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。
如果不指定 /win32res,/copyright 在 Windows 资源管理器中将显示为 Win32 Copyright 资源。
如果文本是空字符串,Win32 Copyright 资源就会显示为一个空格。
如果指定 /win32res,/copyright 就不会影响 Win32 资源信息。
还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 ( System.Reflection.AssemblyCopyrightAttribute)。

/c[ulture]:text
 指定要与程序集相关联的区域性字符串。区域性的有效值是名为“Tags for the Identification of Languages”(语言标识的标记)的 Internet Requests for Comments (RFC)(Internet 注释请求)文档 1766 定义的那些值。
如果 text 包含空格,则将字符串放置在双引号 (" ") 中。没有默认的区域性字符串。使用反射可以查看此字符串。
有关有效的 text 字符串的信息,请参见 CultureInfo。
还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 ( AssemblyCultureAttribute)。

/delay[sign][+

-]
 指定程序集是完全签名的还是部分签名的。如果需要完全签名的程序集,则使用 /delaysign-。如果只想将公钥放在程序集中,则使用 /delaysign+。
在请求完全签名的程序集时,Al.exe 散列包含清单(程序集元数据)的文件,并使用私钥对该散列签名。产生的数字签名存储在包含清单的文件中。在对程序集延迟签名时,Al.exe 并不计算和存储签名,而只是在文件中保留空间以便以后可以添加签名。
默认值为 /delaysign-。
如果不与 /keyfile 或 /keyname 一起使用,/delaysign 选项将无效。
例如,使用 /delaysign+ 将允许测试人员把程序集放入全局缓存中。测试完成后,可以通过将私钥放入程序集中对程序集进行完全签名。

注意
使用 全局程序集缓存工具 (Gacutil.exe) 将延迟签名的程序集放入全局缓存中之前,请使用 强名称工具 (Sn.exe) 注册该程序集,以跳过验证。例如 Sn.exe –Vr delaySignedAssembly。仅将它用于开发。
还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 ( AssemblyDelaySignAttribute)。

【相关文章】好搜一下
详解Java开发的数据库连接编程(JDBC)技术

详解Java开发的数据库连接编程(JDBC)

本文主要讲述JDBC、JDBC的工作原理,访问数据库的方法、Statement、…