首页 新闻 会员 周边 捐助

Release出错

0
悬赏园豆:30 [已解决问题] 解决于 2012-07-26 17:43

我项目中用到了Interop.Release_2012组件,为什么在我自己的电脑上运行程序没问题,换台电脑就报下面的错误呢。我在本机和那台电脑上都注册了该组件的。

 

System.InvalidCastException: 无法将类型为“Release_2012.AppSQLClass”的 COM 对象强制转换为接口类型“Release_2012._AppSQL”。此操作失败的原因是对 IID 为“{C2A2F021-D21F-405A-9FB8-C7D309E23DC4}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。     在 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)     在 Release_2012.AppSQLClass.InitSql(String& Server, String& UserID, String& Password, String& DataBase)     

长风一剑的主页 长风一剑 | 初学一级 | 园豆:29
提问于:2012-07-26 08:53
< >
分享
最佳答案
0

首先你得确认 Interop.Release_2012 是一个 COM 组件。

可在注册表中查找一下 C2A2F021-D21F-405A-9FB8-C7D309E23DC4 ,是否注册成功。

收获园豆:20
Launcher | 高人七级 |园豆:45050 | 2012-07-26 09:16

能确定它是个COM组件,但怎么查找确定C2A2F021-D21F-405A-9FB8-C7D309E23DC4是否注册成功呢

长风一剑 | 园豆:29 (初学一级) | 2012-07-26 09:28

@长风一剑: 在注册表里搜 C2A2F021-D21F-405A-9FB8-C7D309E23DC4,存储COM组件信息的就那么几个键。

另外,我从你组件的名字上看出些问题,所以你得确定 Interop.Release_2012 是一个 COM 组件,还是一个用以实现同一个COM组件交互的互操作程序集?所以,我再追问一个问题,Interop.Release_2012.dll是托管代码的吗?我猜测应该是。如果是的话,那么前一个问题就该是后者。

Launcher | 园豆:45050 (高人七级) | 2012-07-26 09:42

@程序猿.码农: 恩,这个是用以实现COM组件的互操作程序集,那该问题怎么解决呢,不胜感激

长风一剑 | 园豆:29 (初学一级) | 2012-07-26 09:50

@程序猿.码农: 是不是还要注册adodb?

长风一剑 | 园豆:29 (初学一级) | 2012-07-26 09:50

@长风一剑: 那你就要知道 Interop.Release_2012.dll 是通过哪个 COM 组件生成的,然后你就在部署的机器上注册那个 COM 组件。可以通过在注册成功的机器上的注册表中检索出 C2A2F021-D21F-405A-9FB8-C7D309E23DC4 对应的组件。

Launcher | 园豆:45050 (高人七级) | 2012-07-26 09:56

@程序猿.码农: 注册表中找不到C2A2F021-D21F-405A-9FB8-C7D309E23DC4 对应的组件。

长风一剑 | 园豆:29 (初学一级) | 2012-07-26 14:41

@长风一剑: 找不到,那你编译的时候,是怎么生成 Interop.Release_2012 这个的?

Launcher | 园豆:45050 (高人七级) | 2012-07-26 14:50

@程序猿.码农: 这个组件是别的部门开发的DLL,我这边直接引用进来的

长风一剑 | 园豆:29 (初学一级) | 2012-07-26 15:51

@长风一剑: 那你问问他们呗。

Launcher | 园豆:45050 (高人七级) | 2012-07-26 16:28
其他回答(1)
0

你的电脑和另外一台电脑的 NET Framework版本一样吗?

收获园豆:10
imap | 园豆:432 (菜鸟二级) | 2012-07-26 09:07

都是4.0的,还有一个是4.5的,其中一个4.0的能运行,另一个4.0的和那个4.5的都不行

支持(0) 反对(0) 长风一剑 | 园豆:29 (初学一级) | 2012-07-26 09:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册