我一起工作的系统包括:调用C#的.dll ++代码
- 一个前端应用程序写在最有可能的VB或者VC++(不知道,不要”吨,并且可以不具有用于它的源)
- 非托管VC++的.dll
- AC#.dll文件
应用程序调用第一DLL中,第一DLL调用从第二个不同的方法。
为了使第1个DLL能够看到和调用C#代码,我遵循这个指南: http://support.microsoft.com/kb/828736
唯一的区别是,我不使用/ clr编译:OldSyntax,如果我那么做改变其他依赖编译选项会使第一个dll从应用程序加载不正确。
一切顺利编译;整个安装程序甚至在最初工作得很好,但是在完成两个DLL的代码完全开发之后,我现在在应用程序中出现错误。错误是:
运行时错误“-2147417848(80010108)”:
自动化错误
调用已经与其客户端断开连接的对象。
当以下行的第1个DLL执行情况:
MyManagedInterfacePtr ptrName(__uuidof(MyManagedClass));
我试图重现一个完全工作的设置,但没有成功。
任何关于如何设法做到这一点的想法? 或者在其他方法使两个dll一起工作?
在此先感谢!
感谢您的回答,因为对我来说,调试调用DLL的应用程序是不可能的,我最终将C#代码重写为非托管C++。这花了我几天,但最终一切正常。 – Spookyone 2010-10-07 16:21:37