Saltar al contenido

“Registrarse para la interoperabilidad COM” frente a “Hacer visible el ensamblado COM”

Estate atento ya que en este escrito encontrarás la respuesta que buscas.

Solución:

“Hacer visible el ensamblaje COM” es un gran martillo para hacer todos tipos públicos en el ensamblado [ComVisible]. Raramente deseable, querrá seleccionar los tipos específicos que desea que sean visibles, como lo hizo en su fragmento.

Después de compilar el ensamblaje, debe registrarse para que un cliente COM pueda encontrarlo. Que solo usa un número para identificar el objeto que quiere crear, el GUID, es necesaria una búsqueda adicional para averiguar qué DLL lo implementa. Registrarse implica escribir keys en el HKLMSoftwareClassesCLSIDguid parte del registro. Puedes hacerlo tú mismo corriendo Regasm.exe /codebase /tlb o puede dejar que el sistema de construcción lo haga automáticamente después de construir el ensamblaje.

Que es lo que hace “Registrarse para la interoperabilidad COM”. Es deseable ya que garantiza que la copia anterior de la DLL se desregistre automáticamente antes de que se sobrescriba, lo que evita la contaminación del registro. VS necesita ejecutarse elevado para tener acceso de escritura a esos registros keys, una razón para hacerlo opcional. O simplemente no desea registrarlo, algo común en los servidores de compilación. No puedo comentar por qué a veces no obtendría el .tlb sin más diagnósticos.

Además de la respuesta aceptada, el .tlb El archivo no se crea si los tipos o métodos cambiaron sin eliminar primero el registro correspondiente del Registro de Windows (o cerrar la aplicación o servicio que usa la biblioteca), usando la opción /U de la utilidad RegAsm:

Regasm.exe yourlibrary.dll /codebase /tlb /u

Además, es importante mencionar que el registro para el consumo de la biblioteca como COM, solo funcionará en la máquina de desarrollo si se compila usando las opciones Regístrese para la interoperabilidad COM y Hacer ensamblado COM-Visible. Es necesario registrarlo manualmente en cada equipo de destino mediante la línea de comando indicada o bien, generando un script que se ejecuta al instalar la librería.

Aquí tienes las comentarios y valoraciones

Si piensas que ha sido útil este post, agradeceríamos que lo compartas con más seniors de esta forma contrubuyes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *