2009-10-01 3 views
0

Если у вас возникла проблема с sigend .Net COM DLL, и я пытаюсь вызвать ctor этого класса в VB6, но он работает только на моей машине, но не на другом машины для разработчиков. Ошибка 0x80131534.Ошибка при вызове ctor подписанного COM .Net DLL

Класс выглядит следующим образом:

// GUIDs are examples. In my component they're diffrent 
[ComVisible(true)] 
[Guid("AAAAAAAA-AAAA-1111-AAAA-AAAAAAAAAAAA")] 
[ClassInterface(ClassInterfaceType.None)] 
[ComSourceInterfaces(typeof(IServiceEvents))] 
[Transaction(TransactionOption.NotSupported)] 
public class X : Service, IX 
{ 
    public X() : base() { } 
    // some code here. 
} 

[ComVisible(true)] 
[Guid("AAAAAAAA-AAAA-1111-AAAA-AAAAAAAAAAAA")] 
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 
public interface IX { } 

[ComVisible(true)] 
[Guid("AAAAAAAA-AAAA-1111-AAAA-AAAAAAAAAAAA")] 
[ClassInterface(ClassInterfaceType.None)] 
[Transaction(TransactionOption.NotSupported)] 
public abstract class Service : System.EnterpriseServices.ServicedComponent, IService { } 

[ComVisible(true)] 
[Guid("AAAAAAAA-AAAA-1111-AAAA-AAAAAAAAAAAA")] 
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] 
public interface IServiceEvents { } 

И регистрируется как это:

gacutil /i MyComp.dll 
regasm MyComp.dll /tlb 
regsvcs /appname:MyApp MyComp.dll 

Разработчики получили источник, compieled это и rgistry вещь правильно. Если я или они сравнивают подписанные ключи с

sn -vf MyComp.dll 

мы получим «„MyComp.dll“Ассамблеи является действительным.»

Есть ли у кого-нибудь идея, что я делаю неправильно?

Заранее благодарим за вашу помощь!

ответ