Introduzione all'interoperabilità COM (Visual Basic)Introduction to COM Interop (Visual Basic)

Il modello COM (Component Object) consente a un oggetto di esporre le proprie funzionalità agli altri componenti e alle applicazioni host.The Component Object Model (COM) lets an object expose its functionality to other components and to host applications. Anche se gli oggetti COM sono state fondamentali per Windows di programmazione per molti anni, le applicazioni progettate per common language runtime (CLR) offrono numerosi vantaggi.While COM objects have been fundamental to Windows programming for many years, applications designed for the common language runtime (CLR) offer many advantages.

Infine, le applicazioni .NET framework sostituiranno quelle sviluppate con COM..NET Framework applications will eventually replace those developed with COM. Fino ad allora, è possibile usare o creare oggetti COM con Visual Studio.Until then, you may have to use or create COM objects by using Visual Studio. Interoperabilità COM, oppure interoperabilità COM, consente di usare oggetti COM esistenti durante la fase di transizione a .NET Framework a proprio piacimento.Interoperability with COM, or COM interop, enables you to use existing COM objects while transitioning to the .NET Framework at your own pace.

Utilizzando .NET Framework per creare componenti COM, è possibile usare l'interoperabilità COM senza registrazione.By using the .NET Framework to create COM components, you can use registration-free COM interop. Ciò consente di controllare la versione della DLL è abilitata quando più di una versione viene installata in un computer e consente agli utenti finali di usare XCOPY o FTP per copiare l'applicazione in una directory appropriata nel computer in cui può essere eseguito.This lets you control which DLL version is enabled when more than one version is installed on a computer, and lets end users use XCOPY or FTP to copy your application to an appropriate directory on their computer where it can be run. Per altre informazioni, vedere interoperabilità COM senza registrazione.For more information, see Registration-Free COM Interop.

Il codice gestito e datiManaged Code and Data

Il codice sviluppato per .NET Framework è detta codice gestitoe contiene i metadati usati da CLR.Code developed for the .NET Framework is referred to as managed code, and contains metadata that is used by the CLR. I dati utilizzati dalle applicazioni .NET Framework viene chiamati managed data perché il runtime gestisce le attività correlate ai dati ad esempio l'allocazione e il recupero della memoria e dei tipi di controllo.Data used by .NET Framework applications is called managed data because the runtime manages data-related tasks such as allocating and reclaiming memory and performing type checking. Per impostazione predefinita, Visual Basic .NET Usa codice gestito e i dati, ma è possibile accedere a codice non gestito e i dati di oggetti COM mediante assembly di interoperabilità (descritto più avanti in questa pagina).By default, Visual Basic .NET uses managed code and data, but you can access the unmanaged code and data of COM objects using interop assemblies (described later on this page).

AssemblyAssemblies

Un assembly è il principale blocco predefinito di un'applicazione .NET Framework.An assembly is the primary building block of a .NET Framework application. È una raccolta di funzionalità che vengono compilate, con controllo delle versioni e distribuiti come unità singola implementazione che contiene uno o più file.It is a collection of functionality that is built, versioned, and deployed as a single implementation unit containing one or more files. Ogni assembly contiene un manifesto dell'assembly.Each assembly contains an assembly manifest.

Manifesti dell'Assembly e le librerie dei tipiType Libraries and Assembly Manifests

Librerie dei tipi descrivono le caratteristiche degli oggetti COM, ad esempio i nomi dei membri e tipi di dati.Type libraries describe characteristics of COM objects, such as member names and data types. Manifesti dell'assembly eseguono la stessa funzione per le applicazioni .NET Framework.Assembly manifests perform the same function for .NET Framework applications. Includono le informazioni seguenti:They include information about the following:

  • Identità dell'assembly, versione, impostazioni cultura e firma digitale.Assembly identity, version, culture, and digital signature.

  • File che compongono l'implementazione dell'assembly.Files that make up the assembly implementation.

  • Tipi e risorse che compongono l'assembly.Types and resources that make up the assembly. Sono inclusi quelli che vengono esportati da quest'ultimo.This includes those that are exported from it.

  • Dipendenze in fase di compilazione da altri assembly.Compile-time dependencies on other assemblies.

  • Autorizzazioni necessarie per l'assembly da eseguire in modo corretto.Permissions required for the assembly to run correctly.

Per altre informazioni sugli assembly e manifesti dell'assembly, vedere gli assembly in .NET.For more information about assemblies and assembly manifests, see Assemblies in .NET.

Importazione ed esportazione delle librerie dei tipiImporting and Exporting Type Libraries

Visual Studio include un'utilità, Tlbimp, che consente di importare le informazioni da una libreria dei tipi in un'applicazione .NET Framework.Visual Studio contains a utility, Tlbimp, that lets you import information from a type library into a .NET Framework application. È possibile generare le librerie dei tipi da assembly utilizzando l'utilità Tlbexp.You can generate type libraries from assemblies by using the Tlbexp utility.

Per informazioni su Tlbimp e Tlbexp, vedere (tipo di libreria utilità di importazione) Tlbimp.exe e Tlbexp.exe (Type Library Exporter).For information about Tlbimp and Tlbexp, see Tlbimp.exe (Type Library Importer) and Tlbexp.exe (Type Library Exporter).

Assembly di interoperabilitàInterop Assemblies

Gli assembly di interoperabilità sono assembly .NET Framework che ponte tra gestito e codice non gestito, il mapping di membri di oggetti COM a .NET Framework equivalenti gestiti membri.Interop assemblies are .NET Framework assemblies that bridge between managed and unmanaged code, mapping COM object members to equivalent .NET Framework managed members. Gli assembly di interoperabilità creati da Visual Basic .NET gestiscono molti dei dettagli relativi all'utilizzo con oggetti COM, ad esempio il marshalling di interoperabilità.Interop assemblies created by Visual Basic .NET handle many of the details of working with COM objects, such as interoperability marshaling.

Il marshalling di interoperabilitàInteroperability Marshaling

Tutte le applicazioni .NET Framework condividono un set di tipi comuni che consentono l'interoperabilità di oggetti, indipendentemente dal linguaggio di programmazione usato.All .NET Framework applications share a set of common types that enable interoperability of objects, regardless of the programming language that is used. I parametri e valori restituiti di oggetti COM in alcuni casi utilizzano tipi di dati che differiscono da quelli usati nel codice gestito.The parameters and return values of COM objects sometimes use data types that differ from those used in managed code. Il marshalling di interoperabilità è il processo di creazione dei pacchetti parametri e valori restituiti nei tipi di dati equivalente durante lo spostamento da e verso oggetti COM.Interoperability marshaling is the process of packaging parameters and return values into equivalent data types as they move to and from COM objects. Per altre informazioni, vedere marshalling di interoperabilità.For more information, see Interop Marshaling.

Vedere ancheSee also