Procedura: generare assembly di interoperabilità tramite Tlbimp.exe

La procedura più semplice per generare assembly di interoperabilità primari consiste nell'uso dell'Tlbimp.exe (utilità di importazione della libreria dei tipi).

Per generare un assembly di interoperabilità primario mediante Tlbimp.exe

  • Al prompt dei comandi digitare:

    tlbimp filelibreria **/primary /keyfile:**nomefile **/out:**nomeassembly

    In questo comando, filelibreria rappresenta il file contenente la libreria dei tipi COM, nomefile corrisponde al nome del contenitore o del file contenente la coppia di chiavi e nomeassembly costituisce il nome dell'assembly da firmare con un nome sicuro.

Gli assembly di interoperabilità primari possono fare riferimento solo ad altri assembly di interoperabilità primari. Se l'assembly fa riferimento a tipi di una libreria dei tipi COM di terze parti, prima di generare l'assembly di interoperabilità primario desiderato è necessario ottenere un assembly di interoperabilità primario dall'editore. Se si è l'editore, occorre generare un assembly di interoperabilità primario per la libreria dei tipi dipendente prima di generare l'assembly di interoperabilità primario contenente il riferimento.

Quando viene installato nella directory corrente, un assembly di interoperabilità primario con un numero di versione diverso da quello della libreria dei tipi originale non è individuabile. È quindi necessario registrare l'assembly di interoperabilità primario dipendente nel Registro di sistema di Windows oppure utilizzare l'opzione /reference per assicurarsi che la DLL dipendente possa essere trovata mediante Tlbimp.exe.

È inoltre possibile eseguire il wrapping di più versioni di una libreria dei tipi. Per istruzioni, vedere Procedura: eseguire il wrapping di più versioni delle librerie dei tipi.

Esempio

Nell'esempio riportato di seguito viene importata la libreria dei tipi COM LibUtil.tlb e viene firmato l'assembly LibUtil.dll con un nome sicuro, utilizzando il file di chiave CompanyA.snk. Poiché non viene fornito un nome specifico per lo spazio dei nomi, nell'esempio viene creato lo spazio dei nomi predefinito LibUtil.

tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /out:LibUtil.dll

Per definire un nome più descrittivo, utilizzando la convenzione di denominazione NomeFornitore.NomeLibreria, nell'esempio riportato di seguito viene eseguito l'override del nome file dell'assembly e del nome dello spazio dei nomi predefiniti.

tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /namespace:CompanyA.LibUtil /out:CompanyA.LibUtil.dll

Nell'esempio riportato di seguito viene importata la libreria MyLib.tlb, che fa riferimento a CompanyA.LibUtil.dll e viene firmato l'assembly CompanyB.MyLib.dll con un nome sicuro mediante il file di chiave CompanyB.snk. Viene inoltre eseguito l'override dello spazio dei nomi predefinito con lo spazio dei nomi CompanyB.MyLib.

tlbimp MyLib.tlb /primary /keyfile:CompanyB.snk /namespace:CompanyB.MyLib /reference:CompanyA.LibUtil.dll /out:CompanyB.MyLib.dll

Vedere anche

Attività

Procedura: eseguire il wrapping di più versioni delle librerie dei tipi

Procedura: creare assembly di interoperabilità primari manualmente

Concetti

Generazione di assembly di interoperabilità primari

Creazione di assembly di interoperabilità primari