2012-02-22 17 views
0

我有我已經加入到我的COM類中的方法,每次它被稱爲我得到下面的異常時變得異常的COM對象的新方法:添加到名爲

例外:System.Runtime.InteropServices。 COMException(0x800706BE):遠程過程調用失敗。在System.EnterpriseServices.IRemoteDispatch.RemoteDispatchNotAutoDone(String s)將

有這個COM類其他方法被調用都沒有問題的時候:(0x800706BE異常來自HRESULT)。它只發生在我的新方法上。將新方法添加到COM對象時是否需要執行某些特殊操作?讓我知道是否需要更多細節。

+0

如果從方法中刪除所有代碼會發生什麼? – 2012-02-22 15:14:17

+0

它是否使用/暴露未被其他方法使用的任何新類型? – 2012-02-22 15:23:34

+0

我會嘗試約翰。 Damien:我的COM方法調用另一個具有它使用的新結構的方法。我需要用某種東西來裝飾該結構嗎?我猜如果我按約翰的建議行事,那可能意味着這個結構讓它不快。否則,代碼只使用標準的.net簡單對象。 – 2012-02-22 16:13:00

回答

0

更新COM對象後是否重新生成COM互操作包裝?

如果我在此澄清錯誤,請直接給我:我猜你是從一個託管的C#lib中引用COM庫?當裁判創建時,VS應該爲你生成一個interop包裝器,但我不確定它會檢測到一個更改並重新生成包裝器,除非你手動重新引用你的COM DLL或者重新生成interop。

+0

是的。我有兩個C#項目。一個是COM,一個是COM的調用者。我再次將COM項目引用添加到調用者項目中,沒有運氣。 – 2012-02-22 16:12:52