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

Note

Questo articolo descrive le linee guida sull'interoperabilità COM di .NET Framework che usano strumenti e modelli di distribuzione legacy, ad esempio Tlbexp.exe, Regasm.exe, Regsvcs.exe, la Global Assembly Cache e la registrazione COM basata sul Registro di sistema. Per .NET moderno, usa la generazione del codice sorgente COM o l'API ComWrappers. Per altre informazioni, vedere Interoperabilità COM.

Gli sviluppatori COM possono trarre vantaggio dalle informazioni seguenti sui tipi gestiti che intendono incorporare nell'applicazione:

  • Elenco di tipi che le applicazioni COM possono utilizzare

    Alcuni tipi gestiti sono invisibili a COM; alcuni sono visibili ma non creabili; e alcuni sono sia visibili che creabili. Un'assemblea può includere qualsiasi combinazione di tipi invisibili, visibili, creabili e non creabili. Per completezza, identificare i tipi in un assembly che si prevede di esporre a COM, in particolare quando tali tipi sono un sottoinsieme dei tipi esposti a .NET.

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

  • Istruzioni di controllo delle versioni

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

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

  • Istruzioni per la distribuzione

    Per .NET Framework, è possibile installare assembly con nome sicuro firmati da un server di pubblicazione 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 della libreria di tipi

    La maggior parte dei tipi richiede una libreria dei tipi quando viene utilizzata da un'applicazione COM. È possibile generare una libreria dei tipi o fare in modo che gli sviluppatori COM eseguano questa attività. Windows SDK offre le opzioni seguenti per la generazione di una libreria dei tipi:

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

Per istruzioni, vedere Procedura: Incorporare librerie dei tipi come risorse Win32 in .NET-Based applicazioni.

Esportatore libreria di tipi

L'utilità di esportazione della libreria dei tipi (Tlbexp.exe) è uno strumento a riga di comando che converte le classi e le interfacce contenute in un assembly in una libreria dei tipi COM. Una volta disponibili le informazioni sul tipo della classe, i client COM possono creare un'istanza della classe .NET e chiamare i metodi dell'istanza, come se fosse un oggetto COM. Tlbexp.exe converte un intero assemblaggio in un'unica soluzione. Non è possibile utilizzare Tlbexp.exe per generare informazioni sui tipi per un sottoinsieme dei tipi definiti in un assembly.

Classe TypeLibConverter

La TypeLibConverter classe, che si trova nello spazio dei nomi System.Runtime.Interop , converte le classi e le interfacce contenute in un assembly in una libreria dei tipi COM. Questa API produce le stesse informazioni sui tipi dell'Esportatore della Libreria di Tipi, descritto nella sezione precedente.

La classe TypeLibConverter implementa ITypeLibConverter.

Strumento di registrazione degli assemblaggi

Lo strumento di registrazione assembly (Regasm.exe) è in grado di generare e registrare una libreria di tipi quando si utilizza l'opzione /tlb:. I client COM richiedono che le librerie dei tipi siano installate nel Registro di sistema di Windows. Senza questa opzione, Regasm.exe registra solo i tipi in un assembly, non la libreria dei tipi. La registrazione dei tipi in un assembly e la registrazione della libreria di tipi sono attività distinte.

Strumento di installazione dei servizi .NET

Lo strumento di installazione di .NET Services (Regsvcs.exe) aggiunge classi gestite a Servizi componenti di Windows 2000 e combina diverse attività all'interno di un singolo strumento. Oltre a caricare e registrare un assembly, è possibile per Regsvcs.exe generare, registrare e installare la libreria dei tipi in un'applicazione COM+ 1.0 esistente.

Vedere anche