Compartir a través de


Aplicar atributos que dependen de la versión

Si se está utilizando la versión 1.1 y otra versión más reciente de .NET Framework, se pueden aplicar atributos en tiempo de diseño al código fuente administrado con el fin de activar de manera correcta los tipos registrados en el Registro de Windows. En este tema se describe cuándo aplicar los atributos ComCompatibleVersionAttribute y TypeLibVersionAttribute.

GUID generados frente aGUID fijos

El Exportador de la biblioteca de tipos (Tlbexp.exe) y la herramienta Registro de ensamblados (Regasm.exe) con la opción /tlb generan identificadores de clase (CLSID) basándose en el número de versión de un ensamblado exportado para que lo utilice COM. Cada una de las nuevas versiones de un ensamblado que se exporten contienen identificadores de clase CLSID que son exclusivos de esa versión de ensamblado. Las aplicaciones COM utilizan el CLSID para identificar una clase cuando invocan el método CoCreateInstance.

Este comportamiento es útil cuando una nueva versión de ensamblado es incompatible con versiones anteriores. Por ejemplo, si se quita uno o varios tipos del ensamblado nuevo, la versión nueva y la anterior son incompatibles.

Nota

A diferencia de los CLSID, los identificadores de programación (ProgID) no cambian en cada nueva versión de un ensamblado.Debe aplicarse ProgIdAttribute para cambiar manualmente el ProgID cuando se produzca un nuevo ensamblado incompatible.

Sin embargo, muchos ensamblados son compatibles con versiones anteriores y los programadores esperan que las aplicaciones utilicen la última versión. Mediante la conservación de los mismos CLSID en varias versiones del ensamblado (utilizando GUID fijas), las aplicaciones COM existentes pueden utilizar tipos de una nueva versión de un ensamblado sin que se requiera la disponibilidad del ensamblado anterior y sin volver a compilar.

ComCompatibleVersionAttribute obliga a que todos los CLSID de la versión actual del ensamblado sean los mismos que en la versión anterior. Para obtener más información sobre cómo aplicar este atributo, consulte la documentación de referencia de ComCompatibleVersionAttribute.

Versiones de la biblioteca de tipos

El número de versión de la biblioteca de tipos contiene el número mayor y el número menor del ensamblado utilizado para crearla. A diferencia de esto, el número de versión del ensamblado tiene cuatro partes. Dos versiones del ensamblado completamente diferentes (1.0.0.0 y 1.2.500.0) producen automáticamente diferentes versiones de la biblioteca de tipos (1.0 y 1.2); sin embargo, versiones posteriores más próximas (1.2.0.0 y 1.2.500.0) producen la misma versión de la biblioteca de tipos (1.2) cuando se exportan para usarse en COM.

TypeLibraryVersionAttribute permite especificar explícitamente un número de versión de la biblioteca de tipos en código fuente administrado. Para obtener más información sobre cómo usar este atributo, consulte la documentación de referencia de TypeLibVersionAttribute.

Vea también

Conceptos

Inicialización en tiempo de ejecución desde una aplicación COM

Claves del Registro que dependan de la versión

Configurar una aplicación COM para ejecución en paralelo

Componentes COM y ejecución en paralelo

Otros recursos

Ejecución simultánea para interoperabilidad COM