在C#.net项目中导入的VB6 DLL-未注册类

在C#.net项目中导入的VB6 DLL-未注册类,c#,dll,vb6,C#,Dll,Vb6,我需要在.netc# 我已经做到了: 我在ActiveX DLL中编译了项目vb6,接下来当我尝试在Visual Studio.net中的项目中添加引用时,它不起作用(它说汇编无效) 我在web中查找这个问题,并找到了一些解决方案,我尝试导入下面的程序集,现在这项工作很好 现在的新问题是,当我调试我的项目时 其他信息:检索CLSID为{0008E6DF-E43B-4DA5-ADFC-2A83E0F04E6C}的组件的COM类工厂失败,原因是以下错误:80040154类未注册(HRESULT异常:

我需要在
.net
c#

我已经做到了:

我在ActiveX DLL中编译了项目
vb6
,接下来当我尝试在
Visual Studio.net
中的项目中添加引用时,它不起作用(它说汇编无效)

我在web中查找这个问题,并找到了一些解决方案,我尝试导入下面的程序集,现在这项工作很好

现在的新问题是,当我调试我的项目时

其他信息:检索CLSID为{0008E6DF-E43B-4DA5-ADFC-2A83E0F04E6C}的组件的COM类工厂失败,原因是以下错误:80040154类未注册(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))


为什么??如何解决此问题?

您需要安装VB6 DLL。如果不需要,则需要手动安装。Com DLL通常(并且VB6始终)是可自行安装的

regsvr32 c:\path\dllname.dll
对于某些dll文件(不是VB6)


您需要安装VB6 DLL。如果不需要,则需要手动安装。Com DLL通常(并且VB6始终)是可自行安装的

regsvr32 c:\path\dllname.dll
对于某些dll文件(不是VB6)


您可能需要在COM系统中注册才能使用它们。您可以从命令行(在具有控件和管理员权限的目录中)运行
regsvr32 myactivex.dll
,尝试并注册它。您可能需要在COM系统中注册它才能使用它们。您可以从命令行运行
regsvr32 myactivex.dll
(在具有控件和管理员权限的目录中)尝试并注册它。您好,我尝试了,但当我安装获得“regsvr32模块已加载,但未找到入口点dllregisterserver”时,它不是com或VB6服务器。告诉我们更多信息?dll是用Visual Basic 6编译器编译的,项目类型是ActiveX dll。。。该软件是旧的,但我需要使用现有的代码在.net中进行部分移植。旧的dll和.net共存还有其他模式吗?如果你实际上有一个ActiveX dll,根据我的经验,你不会遇到这种错误。如果尝试将regsvr32与非COM DLL的DLL一起使用,则会出现该错误。请确保在32位命令提示符下运行该命令。或者只使用VB6中的安装程序,这是正确的方法。您好,我尝试过,但当我安装获取“regsvr32时,模块已加载,但未找到入口点dllregisterserver”时,它不是com或VB6服务器。告诉我们更多信息?dll是用Visual Basic 6编译器编译的,项目类型是ActiveX dll。。。该软件是旧的,但我需要使用现有的代码在.net中进行部分移植。旧的dll和.net共存还有其他模式吗?如果你实际上有一个ActiveX dll,根据我的经验,你不会遇到这种错误。如果尝试将regsvr32与非COM DLL的DLL一起使用,则会出现该错误。请确保在32位命令提示符下运行该命令。或者只需使用VB6中的设置程序即可,这是正确的方法。