我有一個c#程序集,我通過COM從Delphi(win32 native)應用程序調用。爲什麼regasm.exe用錯誤的GUID註冊我的c#程序集?
這適用於所有我測試過它,除了一個機器。
的問題是,德爾福應用程序獲取「類未註冊」嘗試創建COM對象時。
現在,當我在註冊表下查找HKEY_CLASSES_ROOT\DelphiToCSharp\CLSID
時,其中列出的GUID與AssemblyInfo.cs中的程序集Guid不同。它應該是相同的 - 它在安裝它的所有其他計算機上都是一樣的。
我已經試過regasm /unregister delphitocsharp.dll
,並刪除註冊表項。然後,如果我做regasm delphitocsharp.dll
,註冊表項返回,但GUID是與以前相同(即錯誤),並且德爾福仍然獲得「類未註冊」。
工作機器上的DelphiToCSharp.dll與非工作機器上的版本相同(通過md5驗證)。
所有我能想到的是,一個老版本的DLL是以前註冊,並且仍然存在該文件,該文件正在regasm混淆的一些遺蹟。
如何解決或至少進一步診斷這個問題?
它不能在GAC中,因爲我的程序集沒有簽名。好的,但我會搜索文件的其他副本。 – Blorgbeard 2008-09-29 06:51:46