首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法创建组件'AxHost‘System.Runtime.InteropServices.COMException (0x80029C4A)

无法创建组件'AxHost‘System.Runtime.InteropServices.COMException (0x80029C4A)
EN

Stack Overflow用户
提问于 2011-07-20 19:06:15
回答 2查看 12.6K关注 0票数 1

我已经在C#中创建了.Net用户控件。它是一个带有文本框和列表框的图形化控件。现在我想在遗留的VC++应用程序中使用这个控件(本机二进制)。意味着我想从非托管代码中调用托管代码。

假设我的用户控件名称是xyz.dll。我使用tlbexp.exe生成了tlb文件,然后使用下面的命令行注册了这个控件。regasm xyz.dll /tlb:"C:\xyz.tlb“/codebase

我已经使用“Activex控件测试容器”检查了我的控件(打开Studio2005并转到“工具”菜单)我在这个工具上测试了我的.Net用户控件,它工作得很好。

然后,我创建了一个示例C#窗口应用程序。在“工具箱”下,右键单击并选择“选择项”,然后选择"COM组件“选项卡。并选择我的xyz.dll控件。现在,此控件已添加到工具箱中。

但是当我把这个控件拖到窗口上时,我得到了下面的错误。无法创建组件'AxHost‘。错误消息如下:

'System.Runtime.InteropServices.COMException ( 0x80029C4A ):加载类型库/DLL时出错。(来自System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost主机的异常:0x80029C4A (TYPE_E_CANTLOADLIBRARY))在System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost主机)在System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost主机,布尔值)在System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost主机,布尔值)在System.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem工具,System.Runtime.InteropServices.COMException parent,Int32 x,Int32 y,Int32 width,Int32 height,Boolean hasLocation,Boolean hasSize,ToolboxSnapDragDropEventArgs e)‘。

还可以给我一些“如何在遗留的C#应用程序中使用.net用户控件”的指点

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-20 19:29:05

没有足够的信息,但我猜到目前为止:

控件是在.NET 4中开发的,遗留的C#应用程序是在.NET 2中开发的。.NET 4可以在同一进程中混合.NET版本,但.NET 2不能,所以我怀疑为了解决这个问题,您需要在.NET 2中开发/构建控件,以便它可以在.NET 2和4中使用。

编辑(在关于.NET 3.5的评论之后):

您需要通过运行regsvr32来注册控件。

编辑2:

regsvr32 xyz.dllregsvr32 /i xyz.dll

票数 0
EN

Stack Overflow用户

发布于 2013-12-19 16:35:41

在命令提示符下键入以下命令,regsvr32 "C:\Program Files\VideoLAN\VLC\axvlc.dll"以注册dll文件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6760916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档