0

我有一个 C++ 项目和一个 ac# 项目。C# 项目通过称为 interop.X.dll 和 interop.XCom.dll 的 2 个互操作 dll 访问 C++ 项目的方法。

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

在此处输入图像描述

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

谢谢。

4

1 回答 1

1

这是我上面评论的总结。


为什么不直接绕过 tlb 引用而直接添加 COM 引用?

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

于 2017-06-28T11:39:45.550 回答