CLR20R3从COM dll到.net的System.InvalidCastException

时间:2013-10-14 13:00:03

标签: c# .net vb.net visual-studio-2012 vb6

在我的C#.Net Windows项目中,我引用了vb6 COM dll(此COM dll是已安装在所有开发和客户端计算机上的SDK的一部分),然后我使用installshield为客户端计算机创建了安装程序/安装程序。 / p>

  • 开发机器:VS2012,Win7 Ultimate 64Bit,.Net 4.0.3。 (项目构建任何cpu /更喜欢32位)。
  • 客户机1& 2:客户端1 .net v4.0.3,Win7旗舰版(32位)和client2 .net v4.0.3,Win7旗舰版(64位)。

vb6 COM dll是在.Net 2.0中编译的(因此我的项目应向后兼容)

项目在开发机器上工作正常(构建和安装),但是当试图在客户机上运行时 - 我收到以下错误。

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: MyProject tool.exe
  Problem Signature 02: 1.0.3.0
  Problem Signature 03: 5252b033
  Problem Signature 04: MyProject tool
  Problem Signature 05: 1.0.3.0
  Problem Signature 06: 5252b033
  Problem Signature 07: 8
  Problem Signature 08: b
  Problem Signature 09: System.InvalidCastException
  OS Version:   6.1.7601.2.1.0.256.48
  Locale ID:    2057
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

我已经尝试过: - 最初我认为这个错误是由于vb6 COM dll的CLR版本不匹配造成的。所以,我试图在.net 2.0,3,4,4.5版本的.net中编译c#.net项目(NO Show - 同样的错误)。 - 然后我在同一台机器上安装了VS2010(最初我在同一台开发机器上使用了vs2012)并重新尝试了(没有显示 - 同样的错误)。 - 然后我创建了一个新的空项目,vb6 COM dll只有引用,并安装在它工作的客户端机器上。当我从c#.net项目中的vb6 COM dll创建类的实例时出现问题。我还注意到,当我创建COM类的实例时,它在VS2012中显示了界面(alt横幅窗口。当您在类名上移动鼠标时的小弹出窗口)。但它又适用于开发机器 - 所以不能成为接口问题。

  • 我认为它可能是visual basic / c#问题。然后我在vb.net中重新创建了整个项目:我遇到了以下错误。我在构建时在我的开发机器上出现了这个错误(无法在客户端上进一步发展)。
Retrieving the COM class factory for component with CLSID {8F9F6324-E4E2-435A-AB66-7B766CE628AC} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

然后我查看了所有计算机上的注册表/ CLSID注册,并且COM已经注册。!

  • 然后我在不同的开发机器上重新创建了上述所有块测试,仍然没有显示相同的错误。

我也在stackoverflow论坛上尝试了很多解决方案。喜欢取消注册并重新注册msenv dlls。我尝试在客户端和开发机器上卸载并重新安装.net框架。

现在已经3周了。在这个阶段我能做些什么?

0 个答案:

没有答案