Introduzione all'interoperabilità COM (Visual Basic)
Il modello COM (Component Object Model) consente a un oggetto di esporre le proprie funzionalità ad altri componenti e ad applicazioni host. Anche se gli oggetti COM sono stati a lungo un elemento essenziale della programmazione Windows, le applicazioni progettate per Common Language Runtime (CLR) offrono molti vantaggi.
Con il tempo, le applicazioni .NET Framework sostituiranno quelle sviluppate con il modello COM. Fino a quando tale sostituzione non verrà completata, è possibile che sia necessario utilizzare o creare oggetti COM con Visual Studio. L'interoperabilità COM consente di utilizzare gli oggetti COM esistenti in attesa del passaggio a .NET Framework.
Se si utilizza .NET Framework per la creazione dei componenti COM, è possibile utilizzare l'interoperabilità COM senza registrazione. Questo consente di determinare quale versione della DLL viene attivata quando in un computer sono installate più versioni e permette agli utenti finali di utilizzare XCOPY o FTP per copiare l'applicazione in una directory appropriata del proprio computer dalla quale possa essere eseguita. Per ulteriori informazioni, vedere Interoperabilità COM senza registrazione.
Codice e dati gestiti
Il codice sviluppato per .NET Framework viene definito codice gestito e contiene i metadati utilizzati da Common Language Runtime (CLR). I dati utilizzati dalle applicazioni .NET Framework sono definiti dati gestiti poiché le attività correlate ai dati, ad esempio l'allocazione e il recupero della memoria e il controllo dei tipi, sono gestite dai servizi di runtime. Per impostazione predefinita, Visual Basic 2005 utilizza dati e codice gestiti. Tuttavia, per accedere al codice e ai dati non gestiti degli oggetti COM è possibile utilizzare assembly di interoperabilità (descritti più avanti in questa pagina).
Assembly
Un assembly è il blocco di compilazione principale di un'applicazione .NET Framework. Ogni assembly è una raccolta di funzionalità che vengono compilate, associate a una versione e distribuite come una singola unità di implementazione che contiene uno o più file. Ogni assembly contiene un manifesto assembly.
Librerie dei tipi e manifesti assembly
Le librerie dei tipi descrivono le caratteristiche degli oggetti COM, ad esempio i nomi dei membri e i tipi di dati. Nelle applicazioni .NET Framework questa funzione viene svolta dai manifesti degli assembly. Includono informazioni sugli elementi seguenti:
Identità, versione, impostazioni cultura e firma digitale dell'assembly.
File che formano l'implementazione dell'assembly.
Tipi e risorse che compongono l'assembly inclusi quelli esportati.
Dipendenze da altri assembly in fase di compilazione.
Autorizzazioni necessarie per la corretta esecuzione dell'assembly.
Per ulteriori informazioni sugli assembly e sui manifesti degli assembly, vedere Assembly e Global Assembly Cache (C# e Visual Basic).
Importazione ed esportazione delle librerie dei tipi
Visual Studio contiene un'utilità, Tlbimp, che consente di importare informazioni da una libreria dei tipi in un'applicazione .NET Framework. Per generare librerie dei tipi da assembly, è possibile utilizzare l'utilità Tlbexp.
Per informazioni su Tlbimp e Tlbexp, vedere Tlbimp.exe (utilità di importazione della libreria dei tipi) e Tlbexp.exe (utilità di esportazione della libreria dei tipi).
Assembly di interoperabilità
Gli assembly di interoperabilità sono assembly .NET Framework che fungono da ponte tra codice gestito e codice non gestito, eseguendo il mapping dei membri degli oggetti COM ai membri gestiti .NET Framework equivalenti. Gli assembly di interoperabilità creati da Visual Basic 2005 gestiscono molti dei dettagli relativi all'utilizzo degli oggetti COM, ad esempio il marshalling di interoperabilità.
Marshalling di interoperabilità
Tutte le applicazioni .NET Framework condividono un insieme di tipi comuni che consentono l'interoperabilità tra oggetti, indipendentemente dal linguaggio di programmazione utilizzato. I parametri e i valori restituiti degli oggetti COM a volte utilizzano tipi di dati diversi da quelli utilizzati dal codice gestito. Il termine marshalling di interoperabilità indica il processo di assemblaggio dei parametri e dei valori restituiti in tipi di dati equivalenti durante lo spostamento da e verso oggetti COM. Per ulteriori informazioni, vedere Marshalling di interoperabilità.
Vedere anche
Attività
Procedura dettagliata: implementazione dell'ereditarietà con gli oggetti COM (Visual Basic)
Risoluzione dei problemi relativi all'interoperabilità (Visual Basic)
Riferimenti
Tlbimp.exe (utilità di importazione della libreria dei tipi)
Tlbexp.exe (utilità di esportazione della libreria dei tipi)
Concetti
Assembly e Global Assembly Cache (C# e Visual Basic)
Altre risorse
Interoperabilità COM (Visual Basic)
Interoperabilità con codice non gestito