从.tlb文件创建interop dll

时间:2017-06-28 02:59:19

标签: c# c++ dll com tlbimp

我有一个C ++项目和一个c#项目。 C#项目通过名为interop.X.dll和interop.XCom.dll的2个interop dll访问C ++项目的方法。

当我的C ++项目重建它创建X.tlb和XCom.tlb文件时,它还会创建x_i.c,x_h.h,xCom_i.c,xCom_h.c文件。我发现文件是由于“配置属性 - > MIDL - >输出”中的项目设置而创建的,如下所示;

enter image description here

我需要知道的是如何使用.tlb和其他c文件创建不会自动创建的2个互操作dll。我尝试过使用tlbimp x.tlb /out:Interop.x.dll,但创建的dll似乎不起作用。

感谢。

1 个答案:

答案 0 :(得分:1)

这是我上面评论的摘要。

为什么不绕过tlb引用而只是添加一个直接的COM引用?

将.NET中的COM引用添加到COM库中需要对COM项目进行零更改。当您从.NET项目添加COM引用时,VS会创建interop dll