检索COM类工厂

时间:2011-09-16 14:26:17

标签: .net com

我正在VSS 2010,.Net 4.0和Widows 7(64位)上构建应用程序。

我正在使用第三方组件来加密和解密密码。

我在我的应用程序中引用了第3个paty dll并编写了代码。

当我尝试在集成的VSS Web服务器上运行时,它会出现以下错误,

  

System.Runtime.InteropServices.COMException(0x80040154):正在检索   具有CLSID的组件的COM类工厂   {B72DF070-28A4-11D3-BF19-009027438003}由于以下原因而失败   错误:80040154未注册类(HRESULT异常:   0x80040154(REGDB_E_CLASSNOTREG))。在   System.RuntimeTypeHandle.CreateInstance(RuntimeType类型,布尔值   publicOnly,Boolean noCheck,Boolean& canBeCached,   RuntimeMethodHandleInternal&安培; ctor,布尔& bNeedSecurityCheck)at   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,Boolean   skipCheckThis,Boolean fillCache)at   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly,   Boolean skipVisibilityChecks,Boolean skipCheckThis,Boolean   fillCache)在System.Activator.CreateInstance(Type type,Boolean   nonPublic)在System.Activator.CreateInstance(Type type)at   EncryptProject.HashString.hashstring(String password,String pwsalt)

但是当我将这些代码dll移动到Production服务器时它工作正常。

我在互联网上搜索了一些建议,将目标更改为x86,x64 ......

我尝试了所有可能的方法,但没有用。

如果有人帮助我解决这个问题,那将会很棒。

这样我只能在本地系统中调试我的应用程序。

提前致谢,

此致..

1 个答案:

答案 0 :(得分:4)

  1. 您的服务器是x86机器吗?
  2. 第三部分COM服务器编译为x86吗?
  3. 如果这些问题的答案是,那么只需将代码编译为x86而不是x64(这是最可能的原因),它应该有效。