Creazione di un pacchetto di un assembly .NET Framework per COM

Gli sviluppatori COM possono trarre vantaggio dalle informazioni seguenti sui tipi gestiti che prevedono di incorporare nella propria applicazione:

  • Un elenco dei tipi utilizzabili dalle applicazioni COM

    Alcuni tipi gestiti non sono visibili per COM. Alcuni sono visibili, ma non generabili e alcuni sono sia visibili che generabili. Un assembly può contenere qualsiasi combinazione di tipi invisibili, visibili, non generabili e generabili. Per motivi di completezza, identificare i tipi in un assembly che si desidera esporre a COM, soprattutto quando tali tipi sono un subset dei tipi esposti a .NET Framework.

    Per altre informazioni, vedere Qualificazione di tipi .NET per l'interoperabilità.

  • Istruzioni di controllo delle versioni

    Le classi gestite che implementano l'interfaccia di classe (interfaccia generata dall'interoperabilità COM) sono soggette a restrizioni di controllo delle versioni.

    Per istruzioni sull'uso dell'interfaccia della classe, vedere Introduzione all'interfaccia della classe.

  • Istruzioni per la distribuzione

    Gli assembly con nome sicuro firmati da un editore possono essere installati nella Global Assembly Cache. Gli assembly non firmati devono essere installati nel computer dell'utente come assembly privati.

    Per altre informazioni, vedere Considerazioni sulla sicurezza degli assembly.

  • Inclusione di una libreria dei tipi

    La maggior parte dei tipi richiede una libreria dei tipi per l'uso da un'applicazione COM. È possibile generare una libreria dei tipi o delegare agli sviluppatori COM questa operazione. Windows SDK include le opzioni seguenti per la generazione di una libreria dei tipi:

    Indipendentemente dal meccanismo scelto, solo i tipi pubblici definiti nell'assembly specificato vengono inclusi nella libreria dei tipi generata.

Per istruzioni, vedere Procedura: incorporare librerie dei tipi come risorse Win32 nelle applicazioni basate su .NET.

Utilità di esportazione della libreria dei tipi

Tlbexp.exe (utilità di esportazione della libreria dei tipi) è uno strumento da riga di comando che converte le classi e le interfacce contenute in un assembly in una libreria dei tipi COM. Quando le informazioni sui tipi della classe sono disponibili, i client COM possono creare un'istanza della classe .NET e chiamare i metodi dell'istanza, come se si trattasse di un oggetto COM. Tlbexp.exe converte un intero assembly in una sola volta. Non è possibile utilizzare Tlbexp.exe per generare informazioni sui tipi per un sottoinsieme dei tipi definiti in un assembly.

Classe TypeLibConverter

La classe TypeLibConverter, inclusa nello spazio dei nomi System.Runtime.Interop, converte le classi e interfacce contenute in un assembly in una libreria dei tipi COM. Questa API genera le stesse informazioni sui tipi dell'utilità di esportazione della libreria dei tipi, descritta nella sezione precedente.

La classe TypeLibConverter implementa ITypeLibConverter.

Strumento di registrazione degli assembly

Lo strumento di registrazione degli assembly (Regasm.exe) può generare e registrare una libreria dei tipi quando si applica l'opzione /tlb:. I client COM richiedono l'installazione di librerie dei tipi nel Registro di sistema di Windows. Senza questa opzione, Regasm.exe registra solo i tipi in un assembly, non la libreria dei tipi. Registrare i tipi in un assembly e la registrazione della libreria dei tipi sono due attività distinte.

Strumento di installazione dei servizi .NET

Lo strumento di installazione dei servizi .NET (Regsvcs.exe) aggiunge classi gestite ai servizi componenti di Windows 2000 e combina diverse attività in un unico strumento. Oltre a caricamento e registrazione di un assembly, Regsvcs.exe può generare, registrare e installare la libreria dei tipi in un'applicazione COM+ 1.0 esistente.

Vedi anche