首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序集未在VS10对象浏览器中列出

程序集未在VS10对象浏览器中列出
EN

Stack Overflow用户
提问于 2011-01-15 00:22:33
回答 2查看 1K关注 0票数 0

我有一个VB.Net项目,它需要使用第三方动态链接库,也有一个互操作程序集。所以我有这样的东西:

代码语言:javascript
复制
Hummingbird.DM.Server.Interop.PCDClient.dll
PCDClient.dll

我尝试直接在项目中添加对interop的引用,但在运行该文件时出现COM未注册错误。

因此,我尝试注册互操作,如下所示:

代码语言:javascript
复制
gacutil /if "C:\....\Hummingbird.DM.Server.Interop.PCDClient.dll"

regasm "C:\....\Hummingbird.DM.Server.Interop.PCDClient.dll"

即使在重新启动VS之后,程序集仍然不可见。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-15 01:06:18

您的regasm命令已销毁COM服务器的注册表项。你必须重新安装它。只在你自己的ComVisible代码上使用regasm。

除了没有正确安装该组件之外,使用该组件可能会遇到问题的一个原因是,您正在尝试在64位操作系统上运行该组件。组件是32位的,这是迄今为止最常见的情况。你需要强制你的应用程序在32位模式下运行才能使用它。在CPU中,通过项目+属性,编译选项卡,向下滚动,高级编译选项,将目标VB.NET设置为"x86“。

解决此类问题的终极故障排除工具是SysInternals的ProcMon实用程序。它显示了COM是如何使用HKLM\Software\Classes\CLSID键来搜索要加载的DLL的。

票数 1
EN

Stack Overflow用户

发布于 2011-01-15 00:52:17

您正在注册互操作,但(如错误消息所示)尚未注册COM DLL。试试这个:

代码语言:javascript
复制
regsvr32 pdcclient.dll
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4693250

复制
相关文章

相似问题

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