Condividi tramite


Interoperabilità COM Registration-Free

L'interoperabilità COM senza registrazione attiva un componente senza usare il Registro di sistema di Windows per archiviare le informazioni sull'assembly. Invece di registrare un componente in un computer durante la distribuzione, crei file manifesto in stile Win32 in fase di progettazione che contengono informazioni sull'associazione e l'attivazione. Questi file manifesto, anziché le chiavi del Registro di sistema, indirizzano l'attivazione di un oggetto.

L'uso dell'attivazione senza registrazione per gli assembly invece di registrarli durante la distribuzione offre due vantaggi:

  • È possibile controllare la versione della DLL attivata quando in un computer è installata più di una versione.

  • Gli utenti finali possono usare XCOPY o FTP per copiare l'applicazione in una directory appropriata nel computer. L'applicazione può quindi essere eseguita da tale directory.

Questa sezione descrive i due tipi di manifesti necessari per l'interoperabilità COM senza registrazione: manifesti dell'applicazione e dei componenti. Questi manifesti sono file XML. Un manifest dell'applicazione, creato da uno sviluppatore di applicazioni, contiene metadati che descrivono gli assembly e le dipendenze degli assembly. Un manifesto del componente, creato da uno sviluppatore di componenti, contiene informazioni che altrimenti si trovano nel Registro di sistema di Windows.

Requisiti per l'interoperabilità COM senza registrazione

  1. Supporto per l'interoperabilità COM senza registrazione varia leggermente a seconda del tipo di assembly di libreria; in particolare, se l'assembly è non gestito (COM side-by-side) o gestito (basato su .NET). La tabella seguente illustra i requisiti di versione del sistema operativo e di .NET Framework per ogni tipo di assembly.

    Tipo di assembly Sistema operativo Versione di .NET Framework
    COM side-by-side Microsoft Windows XP Non obbligatorio.
    Basato su .NET Windows XP con SP2 NET Framework versione 1.1 o successiva.

    La famiglia Windows Server 2003 supporta anche l'interoperabilità COM senza necessità di registrazione per assembly basati su .NET.

    Per una classe basata su .NET essere compatibile con l'attivazione senza registro da COM, la classe deve avere un costruttore senza parametri e deve essere pubblica.

Configurazione dei componenti COM per l'attivazione senza registrazione

  1. Affinché un componente COM partecipi all'attivazione senza registrazione, deve essere implementato come assembly affiancata. Gli Assembly side-by-side sono Assemblaggi non gestiti. Per ulteriori informazioni, vedere Uso di assembly affiancati.

    Per utilizzare gli assembly COM affiancati, uno sviluppatore di applicazioni basate su .NET deve fornire un manifesto dell'applicazione che contiene le informazioni di associazione e attivazione. Il supporto per gli assembly side-by-side non gestiti è integrato nel sistema operativo Windows XP. Il runtime COM, supportato dal sistema operativo, analizza un manifesto dell'applicazione per individuare le informazioni di attivazione quando il componente in fase di attivazione non è presente nel Registro di sistema.

    L'attivazione senza registrazione è facoltativa per i componenti COM installati in Windows XP. Per istruzioni dettagliate sull'aggiunta di un assembly side-by-side a un'applicazione, consultare Utilizzo degli assembly side-by-side.

    Annotazioni

    L'esecuzione side-by-side è una funzionalità di .NET Framework che consente l'esecuzione di più versioni del runtime e più versioni di applicazioni e componenti che usano una versione del runtime, per l'esecuzione nello stesso computer contemporaneamente. L'esecuzione parallela e gli assembly paralleli sono meccanismi diversi per fornire funzionalità simultanea.

Vedere anche