Distribuzione di una applicazione di interoperabilità

Un'applicazione di interoperabilità include in genere un assembly client .NET, uno o più assembly di interoperabilità che rappresentano librerie dei tipi COM diverse e uno o più componenti COM registrati. In .NET Framework SDK sono disponibili strumenti per importare e convertire una libreria di tipi in un assembly di interoperabilità. L'assembly di interoperabilità dovrà essere fornito insieme agli altri assembly che costituiscono l'applicazione.

Gli assembly possono avere nomi sicuri. Un assembly con nome sicuro include la chiave pubblica dell'editore, che lo identifica in modo univoco. Gli assembly prodotti dall'utilità di importazione della libreria dei tipi (Tlbimp.exe) possono essere firmati dall'editore mediante l'opzione /keyfile. È possibile installare assembly firmati nella Global Assembly Cache. Gli assembly non firmati devono essere installati sul computer dell'utente come assembly privati.

Assembly privati

Per installare un assembly da utilizzare in modo privato, è necessario che sia l'applicazione EXE che l'assembly di interoperabilità contenente i tipi COM importati siano installati nella stessa struttura di directory. Nella figura riportata di seguito viene illustrato un assembly di interoperabilità non firmato che deve essere utilizzato in modo privato da Client1.exe e Client2.exe, che risiedono in directory di applicazione separate. L'assembly di interoperabilità, denominato in questo esempio LOANLib.dll, viene installato due volte.

Struttura della directory e voci del Registro di sistema per una distribuzione privata

Struttura delle directory e Registro di sistema di Windows

Tutti i componenti COM associati all'applicazione devono essere installati nel Registro di sistema di Windows. Se quelli che nell'illustrazione sono denominati Client1.exe e Client2.exe vengono installati su due computer diversi, occorrerà registrare i componenti COM su entrambi.

Assembly condivisi

È opportuno che gli assembly condivisi da più applicazioni vengano installati in un repository centralizzato, denominato Global Assembly Cache. I client .NET hanno accesso alla stessa copia dell'assembly di interoperabilità firmato e installato nella Global Assembly Cache.

Vedere anche

Concetti

Esposizione di componenti COM a .NET Framework
Importazione di una libreria dei tipi come assembly
Utilizzo di tipi COM nel codice gestito
Compilazione di un progetto di interoperabilità