首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使.NET程序集COM可见并适用于VB5

使.NET程序集COM可见并适用于VB5
EN

Stack Overflow用户
提问于 2010-04-03 05:47:07
回答 1查看 1.1K关注 0票数 1

我有一个程序集,我已经设法使其对VB6可见,并且它可以工作,但在使用VB5完成相同的事情时遇到问题。

对于VB6,我构建了程序集,使其COM可见,将其注册为COM对象等,程序集显示在VB6的引用列表中,并允许我成功使用它。对象浏览器还显示了assy中的方法。我将程序集及其TLB复制到用于VB5开发的虚拟工作站,并运行Regasm,显然是成功的:

代码语言:javascript
复制
C:\>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
\regasm arserviceinterface.dll /tlb:arserviceinterface.tlb
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.3053
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

Assembly exported to 'C:\Projects\AR\3rd Party\ARService\arserviceinterface.tlb'
, and the type library was registered successfully

请注意,虚拟W/S是Win2k,上面没有.NET Fx 3.5,只有2.0。

程序集显示在可在VB5中选择的引用中,但程序集的方法不显示在对象浏览器中,并且通常不可用。要么是我还没有完成的一个步骤,要么是VB5不知道如何使用这样的COM对象。请注意,VB5安装程序位于虚拟工作站上,而不是安装VB6的同一工作站上。

有什么想法吗?我想到的一件事是,我可能需要在有问题的工作站上生成并使用一个强名称,但是...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-03 06:08:50

  1. 确保您的程序集不是基于和使用.Net 3.5
  2. 中的功能生成的。复制OLE/COM对象查看器工具(可以从安装了Windows SDK的计算机上获得)。运行它,转到查看所有对象,向下滚动列表到您的对象,然后右键单击它以创建一个实例。

2.1如果OLE/COM对象查看器无法创建实例,问题出在如何在计算机上注册对象,或者如何安装.Net。

2.2如果OLE/COM对象查看器可以创建实例,那么问题出在VB5的使用方式上。

  • 我记不清VB5实际上是支持早期绑定(IUnknown-based对象)还是只支持后期绑定(IDispatch)。我怀疑VB5只支持IUnknown接口,而正是VB5.5引入了对dispinterfaces的支持。所以这可能是你的问题所在。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2569379

复制
相关文章

相似问题

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