我創建一個C#COM互操作爲C++調用。 我已經通過regasm註冊了dll和tlb文件。一切順利,直到有一天我改變了C#部分的代碼(我沒有改變接口的定義,只是實現改變了)。 COM中的一個接口返回錯誤0x80131509。奇怪的是,它只發生在一些計算機上(我的開發PC運行良好,所以我無法調試這個問題)。我不太清楚C#COM如何與C++一起工作,在我註冊它們之後,我只知道它們在窗口註冊表中創建了關鍵值(如regasm/regfile生成的)。 C++如何知道COM DLL在哪裏(搜索路徑環境變量)?以及在運行時使用tlb文件?C++調用C#COM互操作錯誤:HRESULT 0x80131509
有什麼建議嗎?
感謝您的回覆。今天,我登錄了問題PC,最終找到了錯誤的原因。這是因爲C#COM部分拋出了一個異常,但我沒有抓住它。我無法重現的原因是他們連接到差異數據庫。 – ArdenZhao 2012-02-02 08:53:44