Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile eseguire uno strumento da riga di comando denominato Assembly Registration Tool (Regasm.exe) per registrare o annullare la registrazione di un assembly da usare con COM. Regasm.exe aggiunge informazioni sulla classe al Registro di sistema in modo che i client COM possano usare la classe .NET Framework in modo trasparente. La RegistrationServices classe fornisce la funzionalità equivalente.
Prima di poter essere attivato da un client COM, è necessario registrare un componente gestito nel Registro di sistema di Windows. La tabella seguente illustra le chiavi che Regasm.exe aggiunge di solito al Registro di sistema di Windows. (000000 indica il valore GUID effettivo.
| Identificatore Unico Globale (GUID) | Descrizione | Chiave di Registro |
|---|---|---|
| CLSID | Identificatore di classe | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Identificatore dell'interfaccia | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Identificatore della libreria | HKEY_CLASSES_ROOT\TypeLib\{000…000} |
| ProgID | Identificatore programmatico | HKEY_CLASSES_ROOT\000…000 |
In HKCR\CLSID\{0000... 0000} chiave, il valore predefinito viene impostato sul ProgID della classe e vengono aggiunti due nuovi valori denominati, Class e Assembly. Il runtime legge il valore dell'assembly dal Registro di sistema e lo passa al resolver dell'assembly runtime. Il sistema di risoluzione dell'assembly tenta di individuare l'assembly, in base a informazioni sull'assembly, ad esempio il nome e il numero di versione. Affinché il sistema di risoluzione dell'assembly possa individuare un assembly, l'assembly deve trovarsi in uno dei percorsi seguenti:
La cache globale dell'assembly (deve essere un assembly con nome forte).
Nella directory dell'applicazione. Gli assembly caricati dal percorso dell'applicazione sono accessibili solo da tale applicazione.
Lungo un percorso di file specificato dall'opzione /codebase al Regasm.exe.
Regasm.exe crea anche la chiave InProcServer32 sotto la chiave HKCR\CLSID\{0000...0000}. Il valore predefinito per la chiave è impostato sul nome della DLL che inizializza Common Language Runtime (Mscoree.dll).
Esame delle voci del Registro di sistema
L'interoperabilità COM fornisce un'implementazione standard della class factory per creare un'istanza di qualsiasi classe .NET Framework. I clienti possono chiamare DllGetClassObject nella DLL gestita per ottenere una factory di classi e creare oggetti, esattamente come con qualsiasi altro componente COM.
Per la InprocServer32 sottochiave, viene visualizzato un riferimento a Mscoree.dll al posto di una libreria dei tipi COM tradizionale per indicare che Common Language Runtime crea l'oggetto gestito.