C# 如何在vb6中注册未用作com互操作的.net dll?

C# 如何在vb6中注册未用作com互操作的.net dll?,c#,.net,dll,vb6,C#,.net,Dll,Vb6,我有一个用c#编写的.net.dll,没有用作COM互操作。我需要在vb6中将此dll用作引用。添加引用“无法添加对指定文件的引用”时出错 通过使用命令promt进行注册,我收到一个错误:“模块已加载,但未找到入口点DllRegisterServer。请确保它是有效的DLL或OCX文件,然后重试。”您无法直接执行您的要求。根据定义,VB6唯一可以“注册”的是COM DLL 如果您无法修改C#DLL以添加COM接口元素,那么您也可以用C#或VB(.net)编写一个包装器,它本身公开COM接口,并在

我有一个用c#编写的.net.dll,没有用作COM互操作。我需要在vb6中将此dll用作引用。添加引用“无法添加对指定文件的引用”时出错


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

您无法直接执行您的要求。根据定义,VB6唯一可以“注册”的是COM DLL


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

您不能直接执行您的要求。根据定义,VB6唯一可以“注册”的是COM DLL


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

如果.net DLL未公开COM互操作,则根据定义,您无法注册它。那么如何在vb6中使用该DLL@MarkLYou不能只接受任何旧的.NET程序集,然后期望为COM注册它。@MickyD你确定吗?如果不注册COM互操作,我们无法访问vb6中的dll?vb6使用StdCall约定调用库,c#不是我的专业领域,但我认为c#不支持StdCall。因此,您可以用COM互操作创建Cy.dll,如果您创建了一个中间层,或者在VB.net或C++中公开一个COM互操作或一个STDCALL接口,或者用COM互操作创建一个C语言中间层。根据定义,您不能注册它。那么如何在vb6中使用该dll@MarkLYou不能只接受任何旧的.NET程序集,然后期望为COM注册它。@MickyD你确定吗?如果不注册COM互操作,我们无法访问vb6中的dll?vb6使用StdCall约定调用库,c#不是我的专业领域,但我认为c#不支持StdCall。因此,您可以使用COM互操作(如果这是您的DLL)来创建C*ydll,或者您可以在VB.net或C++中创建一个中间层,公开COM互操作或STDCALL接口,或者用COM互操作创建C语言中间层。