在VC中使用COM dll++动态链接库

发布于 2024-11-27 22:14:03 字数 272 浏览 0 评论 0原文

我在 C#.net 中创建了一个 COM dll,并从 VCPP 代码调用 COM dll 的方法。

COM dll 的创建也会导致 tlb 文件的创建,在阅读相关内容后发现我需要使用 regasm 注册 tlb 文件以创建它的注册表项。

现在,如果我在未安装 Microsoft Visual Studio 的计算机上运行该应用程序,那么我将无法使用 regasm 注册 tlb 文件,而且当我尝试使用 regsvr32 注册 tlb 文件时,它会给出错误消息。

有解决方法吗?

I have created a COM dll in C#.net, and calling a method of COM dll from VCPP code.

The creation of COM dll also result in a tlb file creation, after reading about it found that I need to register the tlb file using regasm to make a registry entry of it.

Now if I am running the application on a machine where Microsoft Visual Studio is not installed, then I wont be able to register the tlb file using regasm, also when I attempt to register the tlb file using regsvr32 its giving an error message.

Is there a work around for it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怀中猫帐中妖 2024-12-04 22:14:03

您不需要注册 .tlb 文件 - 您必须使用 regasm/codebase 参数来注册 COM .dll 文件。您需要在想要通过 COM 使用 COM .dll 的每台计算机上运行 regasmregasm 随 .NET 框架一起提供和安装,因此如果它不可用,则意味着您无法使用 COM DLL,因为后者无论如何都需要 .NET 运行时。

另请参阅此问题

You don't need to register the .tlb file - you have to use regasm with /codebase parameter to register the COM .dll file. You need to run regasm on every machine where you want to use your COM .dll via COM. regasm is shipped and installed with .NET framework, so if it's not available it means you can't use your COM DLL since the latter requires .NET runtime anyway.

Also see this question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文