如何在vb6中注册一个不能用作com互操作的.net DLL?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在vb6中注册一个不能用作com互操作的.net DLL?相关的知识,希望对你有一定的参考价值。

我有一个.net .dll用c#编写而不是用作COM互操作。我需要在vb6中使用这个dll作为参考。我在添加引用时出错了“无法添加对指定文件的引用“?

通过使用命令提示符进行注册,我收到错误“模块已加载但未找到入口点DllRegisterServer。请确保它是有效的DLL或OCX文件,然后再试一次。”

答案

你不能直接做你想要的。 VB6可以“注册”的唯一东西是定义为COM DLL。

如果您无法修改C#DLL以添加COM接口元素,那么您也可以在C#或VB(.net)中编写一个包装器,它本身公开一个COM接口,并在内部调用原始DLL。

以上是关于如何在vb6中注册一个不能用作com互操作的.net DLL?的主要内容,如果未能解决你的问题,请参考以下文章

注册 COM 互操作始终在 Visual Studio 2012 中运行

Vista 中的 VB6 .NET 互操作问题

我可以将 .NET 5 COM 互操作对象与 VB6 连接起来吗?

为啥不能将 WideString 用作互操作的函数返回值?

在 VB6 中通过 COM 处理在 .NET 类上公开的事件

如何使用 Visual Studio 2022 注册 32 位 COM 互操作