Salve,
ho fatto questo piccolo progetto in VBNet per valutare l'interoperabilità tra oggetti COM+ in VBNet e applicazioni VB6.
codice:
Imports Microsoft.VisualBasic
Imports System.Runtime.InteropServices
<Microsoft.VisualBasic.ComClass()> Public Class COMClass
    Implements ICOMClass
 
    Public Interface ICOMClass
        Property AnyData() As String
        Sub AnySub(ByVal Value As String)
    End Interface
    Private m_Data As String = ""
 
    Public Property AnyData() As String Implements ICOMClass.AnyData
        Get
            Return m_Data
        End Get
        Set(ByVal value As String)
            m_Data = value
        End Set
    End Property
 
    Public Sub AnySub(ByVal Value As String) Implements ICOMClass.AnySub
        m_Data = Value
    End Sub
End Class
Nelle proprietà dell' assmbly ho impostato che lo stesso deve essere visibile quale oggetto COM
La compilazione è stata eseguita senza errori, quindi ho preso il risultato (la DLL) e la ho copiata di un PC dove è installato l'ambiente Visual Studio 6.0 nella directory del programma di test in VB6.
Ho generato il file tlb tramite RegAsm.
Poi ho refenziato la dll nel progetto VB6, le classi ICOMClass e COMClass sono entrambi visibili da VB6.
Il problema si presenta quando va in esecuzione
codice:
set myClass=new COMClass
l'ambiente VB6 va in errore : 'Automation error specified file not found'

Dove ho sbagliato ?

Qualcuno mi dia qualche suggerimento