Aplicar atributos que dependen de la versión
Si se está utilizando la versión 1.1 de .NET Framework, se pueden aplicar atributos en tiempo de diseño para administrar código fuente con el fin de activar de manera correcta los tipos registrados en el Registro de Windows. Este tema describe cuándo aplicar los atributos ComCompatibleVersionAttribute y TypeLibVersionAttribute.
GUID generadas frente a GUID fijas
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 elimina 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 usarse 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 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 utilizar este atributo, consulte la documentación de referencia 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 simultánea
Componentes COM y ejecución simultánea