Implementación de una aplicación de interoperabilidad

Note

En este artículo se describe la guía de interoperabilidad COM de .NET Framework que usa herramientas heredadas y modelos de despliegue, como Tlbimp.exe, ensamblados de interoperabilidad primarios, la caché global de ensamblados y el registro de COM basado en el Registro. Para .NET moderno, usa la generación de código fuente COM o la API ComWrappers. Para obtener más información, consulte Interoperabilidad COM.

Normalmente, una aplicación de interoperabilidad incluye un ensamblado de cliente .NET, uno o varios ensamblados de interoperabilidad que representan bibliotecas de tipos COM distintas y uno o varios componentes COM registrados. Visual Studio y el SDK de Windows proporcionan herramientas para importar y convertir una biblioteca de tipos en un ensamblado de interoperabilidad, como se describe en Importación de una biblioteca de tipos como ensamblado. Hay dos maneras de implementar una aplicación de interoperabilidad:

  • Al usar tipos de interoperabilidad integrados: indique al compilador que incruste la información de tipo de un ensamblado de interoperabilidad en su ejecutable. El compilador inserta solo la información de tipo que usa la aplicación. No es necesario implementar el ensamblado de interoperabilidad con la aplicación. Esta es la técnica recomendada.
  • Mediante la implementación de ensamblados de interoperabilidad: cree una referencia estándar a un ensamblado de interoperabilidad. En este caso, el ensamblado de interoperabilidad debe implementarse con la aplicación. Si emplea esta técnica y no usa un componente COM privado, haga referencia siempre al ensamblado de interoperabilidad primario (PIA) publicado por el autor del componente COM que pretende incorporar en el código administrado.

Si usa tipos de interoperabilidad insertados, la implementación es simple y directa. No hay nada especial que tengas que hacer. En el resto de este artículo se describen los escenarios para implementar ensamblados de interoperabilidad con la aplicación.

Implementar ensamblados de interoperabilidad

Los ensamblados pueden tener nombres seguros. Un ensamblado con nombre seguro incluye la clave pública del editor, que proporciona una identidad única. El publicador puede firmar los ensamblados generados por el importador de la biblioteca de tipos (Tlbimp.exe) mediante la opción /keyfile . Puede instalar ensamblados firmados en la caché global de ensamblados. Los ensamblados sin firmar deben instalarse en el equipo del usuario como ensamblados privados.

Ensamblados privados

Para instalar un ensamblado que se va a usar de forma privada, tanto el ejecutable de la aplicación como el ensamblado de interoperabilidad que contiene tipos COM importados deben instalarse en la misma estructura de directorios. En la ilustración siguiente se muestra un ensamblado de interoperabilidad sin firmar que se usará de manera privada por Client1.exe y Client2.exe, los cuales residen en directorios de aplicación independientes. El ensamblado de interoperabilidad, que se llama LOANLib.dll en este ejemplo, se instala dos veces.

Estructura de directorios y estructura de directorios del Registro de Windows

Todos los componentes COM asociados a la aplicación deben instalarse en el Registro de Windows. Si Client1.exe y Client2.exe en la ilustración están instalados en equipos diferentes, debe registrar los componentes COM en ambos equipos.

Ensamblados compartidos

Los ensamblados compartidos por varias aplicaciones deben instalarse en un repositorio centralizado denominado caché global de ensamblados. Los clientes .NET pueden tener acceso a la misma copia del ensamblado de interoperabilidad, que está firmado e instalado en la caché global de ensamblados. Para obtener más información sobre cómo generar y usar ensamblados de interoperabilidad primarios, vea Ensamblados de interoperabilidad primarios.

Consulte también