有一些奇怪的问题。 我正在开发一些使用VB6 .dll的复杂Web服务网络。在我之前的帖子中,我遇到了一些dll的问题,但我们已经解决了它们。
所以,新问题是: 当我在Visual Studio的开发服务器上调试我的服务(使用VB6 dll的那些)时 - 一切正常,当我在IIS上发布我的服务时,问题开始了(我尝试了我的本地IIS)。之后,当我调用.dll方法时(据我所知,我需要通过引用调用它 - 这就是编译器告诉我的)我得到了一个异常:
“System.Runtime.InteropServices.COMException(0x800A000D):类型不匹配...”
实际上这是在第三行发生的:
Object s = (Object)OrderId;
Object s1 = (Object)lines.Length;
proxy.OrderRead(ref s, ref s1);
OrderId和Legth是整数。
据我所知,这是来自vb6:/
的.dll的异常问题可能是什么?为什么它在调试时运行但在IIS上失败?
答案 0 :(得分:0)
在vb6中调试时,IDE将为您注册dll。发布后,您是否可以在服务器上注册您的vb6 dll。打开命令提示符并切换到dll的位置并运行regsvr32 myvb6.dll
。
另外,请检查这些设置。 http://support.microsoft.com/kb/281630