2011-05-20 40 views
1

我有一個在C#中使用VS2010生成的COM DLL,使用VS2910,它工作正常,但是當我嘗試從Delphi 7使用DLL時,導入了.tlb文件,一些功能工作正常,但似乎產生以下錯誤。
Could not load file or assembly 'InnovateCV, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c06107b7da48b1da' or one of its dependencies. The system cannot find the file specified.
不幸的是,它不知道什麼是加載失敗,InnovateCV是我的DLL,並加載,從數據值是'System.Collections.ListDictionaryInternal'異常獲取更多的信息。不幸的是我的COM DLL調用第三方.NET DLL,這是引發異常的地方。有沒有什麼方法可以找到它未能加載的內容。.NET COM DLL在Delphi中使用時拋出異常

我試過使用Depends.exe,並且沒有DLL可以看到。

任何幫助,將不勝感激。

+1

有沒有機會,它失敗的功能是一個相當新的加法,並且delphi代碼沒有引用程序集的最新版本? – Smudge202 2011-05-20 11:23:33

+0

不,在系統上只有一組DLL,因此Delphi和C#應用程序正在與相同的應用程序交談。 COM DLL被重新註冊,當我改變它來嘗試和調試正在發生的事情時。 – altazu 2011-05-20 14:51:13

+0

您使用RegAsm註冊了DLL嗎? DLL是否在GAC中註冊? – Andreas 2011-05-20 15:35:33

回答

1

解決了這個問題,它是Delphi應用程序與.NET應用程序之間的DLL名稱衝突,所以Delphi應用程序無法在DLL中找到所需的函數,我也必須將所有DLL與Delphi應用程序位於同一目錄中。現在它的工作。謝謝您的幫助。

相關問題