Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Note
En este artículo se describen las instrucciones de interoperabilidad COM de .NET Framework que usa la herramienta de registro de ensamblados heredada (Regasm.exe), la caché global de ensamblados y el registro COM basado en el registro. Para .NET moderno, use la generación de código fuente para COM o la API ComWrappers. Para obtener más información, consulte Interoperabilidad COM.
Puede ejecutar una herramienta de línea de comandos denominada Herramienta de registro de ensamblados (Regasm.exe) para registrar o anular el registro de un ensamblado de .NET Framework para su uso con COM. Regasm.exe agrega información sobre la clase al Registro del sistema para que los clientes COM puedan usar la clase .NET Framework de forma transparente. La RegistrationServices clase proporciona la funcionalidad equivalente.
Para .NET Framework, un componente administrado debe registrarse en el registro de Windows para poder activarse desde un cliente COM. En la tabla siguiente se muestran las claves que Regasm.exe suelen agregar al Registro de Windows. (000000 indica el valor GUID real).
| GUID | Descripción | Clave del Registro |
|---|---|---|
| CLSID | Identificador de clase | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Identificador de interfaz | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Identificador de biblioteca | HKEY_CLASSES_ROOT\TypeLib\{000…000} |
| ProgID | Identificador programático | HKEY_CLASSES_ROOT\000…000 |
Bajo la clave HKCR\CLSID\{0000...0000}, el valor predeterminado se establece en el ProgID de la clase y se agregan dos nuevos valores con nombre, Class y Assembly. El tiempo de ejecución lee el valor de Assembly del Registro y lo pasa a la resolución de ensamblado en tiempo de ejecución. El solucionador de ensamblados intenta localizar el ensamblado, en función de la información del ensamblado, como el nombre y el número de versión. Para que el solucionador de ensamblados busque un ensamblado, el ensamblado debe estar en una de las siguientes ubicaciones:
En la caché global de ensamblados (debe ser un ensamblado con nombre seguro).
En el directorio de la aplicación. Los ensamblados que se cargan desde la ruta de la aplicación solo son accesibles desde esa aplicación.
En una ruta de acceso de archivo especificada con la opción /codebase en Regasm.exe.
Regasm.exe también crea la clave InProcServer32 bajo la clave HKCR\CLSID\{0000…0000}. El valor predeterminado de la clave se establece en el nombre del archivo DLL que inicializa Common Language Runtime (Mscoree.dll).
Examinar las entradas del registro
La interoperabilidad COM en .NET Framework proporciona una implementación de generador de clases estándar para crear una instancia de cualquier clase .NET Framework. Los clientes pueden llamar DllGetClassObject a en el archivo DLL administrado para obtener un generador de clases y crear objetos, igual que lo harían con cualquier otro componente COM.
Para la subclave InprocServer32, aparece una referencia a Mscoree.dll en lugar de una biblioteca de tipos COM tradicional para indicar que el Common Language Runtime crea el objeto administrado.