加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在COM dll上使用tlbexp.exe

发布时间:2020-12-14 02:55:37 所属栏目:Windows 来源:网络整理
导读:我正在尝试在 Centura和COM .dll之间建立通信. (从 http://download.resip.fr下载,用于数据库导入) Centura需要.tlb文件才能与此组件通信.通常我会使用regasm / tlb生成.tlb,但看到它是COM .dll这是不可能的. 我发现我可以使用tlbexp for .NET dll:http://m
我正在尝试在 Centura和COM .dll之间建立通信. (从 http://download.resip.fr下载,用于数据库导入)

Centura需要.tlb文件才能与此组件通信.通常我会使用regasm / tlb生成.tlb,但看到它是COM .dll这是不可能的.

我发现我可以使用tlbexp for .NET dll:http://msdn.microsoft.com/en-us/library/hfzzah2c(v=vs.80).aspx

我试过这个,知道它可能会失败(因为我有COM .dll).我收到了这个错误:

TlbExp : error TX0000 : Could not load file or assembly ‘file:///C:Windowssystem32ResipBcb.dll’ or one of its dependencies. The module was expected to contain an assembly manifest.

使用Dependency Walker我注意到两个.dll缺失了.我在网上找到了ieshims.dll,但我找不到wer.dll.见this question.
我不知道tlbexp失败是否与这个丢失的文件有关?

总之,我的问题是:
如何从这个.dll获得.tlb?我似乎无法找到任何方法从这个COM .dll中提取.tlb.

最好的祝福
Clint Cambier

解决方法

您尝试做的只适用于.NET程序集,而不适用于本机COM服务器.它们的类型库几乎总是嵌入在DLL中.在Visual Studio中,使用“文件打开文件”并选择DLL.打开“TYPELIB”节点,右键单击资源(通常为1),导出.将其保存到项目目录中,使用.tlb文件扩展名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读