Ciao a tutti, come intuibile dall'oggetto, ho un problema con l'interoperabilità COM di una DLL scritta in C# 3.5
Dunque, premesso che l'obiettivo della DLL in questione è lungo da spiegare, ed esula dal contenuto del thread, utilizzo come esempio un codice di esempio con un metodo di test.
In sostanza, creo un progetto libreria con una classe ed un'interfaccia:
[Guid("804586FA-AAED-4efc-8012-053F6F3577B1")]
[ComVisible(true)]
public interface ITest
{
string doTest();
}
[Guid("446B9594-717E-4adc-A994-0A123EDEF09D")]
[ComVisible(true)]
public class BridgeClass : ITest
{
public BridgeClass()
{
;
}
public string doTest()
{
return DateTime.Now.ToLongDateString();
}
}
Nel file assembyinfo inserisco i seguenti attributi
[assembly: ComVisible(true)]
[assembly: ClassInterface(ClassInterfaceType.AutoDispatch)]
[assembly: Guid("81c7be80-85b1-402d-b861-386feed2526c")]
Quando compilo la DLL mi genera in automatico un file .tlb, questo file riesco ad inserirlo come riferimento nel mio progetto client VB6, ma all'atto di istanziare la classe 'BridgeClass', mi restituisce l'errore 'Automation error'
Dove sbaglio???
Ringrazio tutti in anticipo.