用于创建COM DLL的.NET包装器的工具?

10

有什么开源工具可以自动生成COM DLL库的.NET包装器?


请说明为什么您需要它是开源的。 - John Saunders
5个回答

11

在.NET中使用COM对象无需包装器。在Visual Studio中,右键单击解决方案资源管理器中的项目名称,然后选择“添加引用”。任何已注册的COM对象都将列在COM选项卡中。

只有在将.NET程序集用作COM对象时才需要Interop包装器 - 而不是像您在问题中描述的那样反过来。


5
我认为他的“开源”要求意味着他 -不会- 使用Visual Studio。 - Tj Kellie
1
如果他正在使用C#(正如他的问题所述,在.NET中,而不是在Mono中),那么无论使用哪个版本,他都可以访问VS。TlbImport已经在其他地方提到过了。 - 3Dave

6

4
你可以使用命令行工具Type library import tool,它将为您生成一个互操作程序集供您在项目中使用。
类型库导入程序将在COM类型库中找到的类型定义转换为公共语言运行时程序集中的等效定义。
如果您正在使用VS.net,则可以通过IDE执行此操作。否则,我相信这个工具是免费提供的(根据您的开源请求)。

@David 这并不一定是正确的。在 TLBImport 中使用不同的命令行参数,您可以更改包装器代码的生成方式。您还可以使用该工具生成 PIA(Primary Interop Assembly)。仅使用 VS 中的“添加引用”是无法做到这一点的。 - Nick

4
是的,Tlbimp.exe的源代码是可用的。您可以从这里下载。

1
谢谢,这正是我想要的(我想自定义导入过程)。 - Roman Plášil

1

关于 tlbimp 类型库导入器怎么样?MSDN 文档在这里

希望能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接