2015-05-20 23 views
-1

我們創建了一個與VB6一起使用的C#dll(ComVisible = true,Register for COM Interop)。 在VB6開發PC上,一切正常。VB6使用的C#dll的重新分配

我們嘗試在另一臺PC上重新分配它。我們都知道,我們應該用一個64以下命令行再生TLB文件的Windows

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe C:\CLYO\Clyo.Interfaces.dll /tlb:C:\CLYO\Clyo.Interfaces.tlb 

我們還與代碼庫

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe C:\CLYO\Clyo.Interfaces.dll /tlb:C:\CLYO\Clyo.Interfaces.tlb /codebase 

嘗試,但我們繼續得到Error 429 - ActiveX component can't create object

任何想法?

注:我們的C#代碼中使用不同的GUID爲每個類和接口

[InterfaceType(ComInterfaceType.InterfaceIsDual)] 
[Guid("EC8D67C4-0B8B-4692-9CA4-8657805D9B40")] 
public interface IRestoFlash 
{ 
    ... 
} 

[ClassInterface(ClassInterfaceType.None)] 
[Guid("D068F8B5-AAC8-48D2-BEED-4505DBC802D6")] 
[ProgId("Clyo_Interfaces.RestoFlash")] 
public class RestoFlash:IRestoFlash 
{ 
    ... 
} 

回答

0

使用到Regasm X32所解決問題的路徑......

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe 
           ^^ (without 64)