【发布时间】:2011-01-08 09:45:27
【问题描述】:
是否有任何开源工具可以为 COM DLL 库自动生成 .NET 包装器?
【问题讨论】:
-
请说出你为什么需要它是开源的。
是否有任何开源工具可以为 COM DLL 库自动生成 .NET 包装器?
【问题讨论】:
在 .NET 中使用 COM 对象不需要包装器。在 Visual Studio 中,右键单击解决方案资源管理器中的项目名称,然后选择“添加引用”。任何已注册的 COM 对象都将在 COM 选项卡中列出。
只有在使用 .NET 程序集时才需要互操作包装器,就好像它们是 COM 对象一样 - 而不是您在问题中描述的相反方式。
【讨论】:
您可以尝试使用SWIG,它能够为18 languages 生成包装代码。 this MSDN article 也可能有用。
【讨论】:
您可以使用Type library import tool 的命令行工具,它将生成一个互操作程序集供您在项目中使用。
类型库导入器将在 COM 类型库中找到的类型定义转换为公共语言运行时程序集中的等效定义。
如果您使用的是 VS.net,您将能够通过 IDE 执行此操作。否则,我相信这个工具是免费提供的(根据您的开源请求)。
【讨论】:
是的,Tlbimp.exe 的源代码可用。从here...下载
【讨论】:
tlbimp typelib 导入器呢? MSDN 文档是here。
希望这会有所帮助。
【讨论】: