类型库导入程序(Tlbimp.exe)工具使用详解

来源:互联网  作者:本站整理
摘要:类型库导入程序工具主要用于将COM类型库中的类型定义转换为公共语言运行库程序集中的等效定义。Tlbimp.exe的输出为二进制文件(程序集),该文件中包含在原始类型库中定义的类型的运行库元数据。可以使用诸如Ildasm.exe这样的工具检查此文件。…

类型库导入程序工具主要用于将COM类型库中的类型定义转换为公共语言运行库程序集中的等效定义。Tlbimp.exe 的输出为二进制文件(程序集),该文件中包含在原始类型库中定义的类型的运行库元数据。可以使用诸如 Ildasm.exe 这样的工具检查此文件。

tlbimp tlbFile [options]

参数说明

tlbFile
 包含 COM 类型库的任意文件的名称。
 
选项说明

/asmversion: versionNumber
 指定要生成的程序集的版本号。以 major.minor.build.revision 格式指定 versionNumber。

/delaysign
 向 Tlbimp.exe 指定使用延迟签名以强名称对结果程序集进行签名。此选项必须与 /keycontainer:、/keyfile: 或 /publickey: 选项一起指定。有关延迟签名进程的更多信息,请参见 延迟为程序集签名。

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

/keycontainer: containername
 使用在 containername 指定的密钥容器中找到的公钥/私钥对,签发具有强名称的结果程序集。

/keyfile: filename
 使用在 filename 中找到的发行者的正式公钥/私钥对,签发具有强名称的结果程序集。

/namespace: namespace
 指定在其中生成程序集的命名空间。

/noclassmembers
 防止 Tlbimp.exe 向类添加成员。这样可避免潜在的 TypeLoadException。

/nologo
 取消显示 Microsoft 启动标题。

/out: filename
 指定输出文件、程序集以及要写入元数据定义的命名空间的名称。如果类型库指定的接口定义语言 (IDL) 自定义属性显式控制该程序集的命名空间,则 /out 选项对程序集的命名空间没有影响。如果您没有指定此选项,则 Tlbimp.exe 将元数据写入与在输入文件内定义的实际类型库同名的文件中,并且为其分配 .dll 扩展名。如果输出文件的名称与输入文件的名称相同,则该工具将生成一个错误,以防止重写该类型库。

/primary
 生成指定类型库的主 interop 程序集。相关信息将被添加到该程序集中,以指示类型库的发行者已生成该程序集。通过指定主 interop 程序集,您可以将一个发行者的程序集与使用 Tlbimp.exe 从该类型库创建的任何其他程序集区分开来。如果您是正使用 Tlbimp.exe 导入的类型库的发行者,则只应使用 /primary 选项。请注意,您必须签发具有 强名称的主 interop 程序集。有关更多信息,请参见 主互操作程序集。

/publickey: filename
 指定包含用来签发结果程序集的公钥的文件。如果您指定了 /keyfile: 或 /keycontainer: 选项而非 /publickey:,则 Tlbimp.exe 将根据由 /keyfile: 或 /keycontainer: 提供的公钥/私钥对来生成公钥。publickey: 选项支持测试键和延迟签名方案。该文件采用由 Sn.exe 生成的格式。有关更多信息,请参见 强名称工具 (Sn.exe) 中 Sn.exe 的 -p 选项。

/reference: filename
 指定程序集文件,用以解析对在当前类型库外定义的类型的引用。如果您没有指定 /reference 选项,Tlbimp.exe 将自动以递归的方式导入任何被导入的类型库引用的外部类型库。如果您指定了 /reference 选项,那么在导入其他类型库之前,该工具将尝试解析被引用程序集中的外部类型。

/silent
 取消显示成功消息。

/strictref
 如果此工具不能解析当前程序集、/reference 选项指定的程序集或已注册的主互操作程序集 (PIA) 内的所有引用,则不要导入类型库。

/strictref:nopia
 与 /strictref 相同,但忽略 PIA。

【相关文章】好搜一下
关于Visual Studio 2010中生成测试数据的简便方法

关于Visual Studio 2010中生

【IT专家网独家】在VisualStudio2010中主要是通过使用Databa…