我一起工作的系統包括:調用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