ComCompatibleVersionAttribute Clase

Definición

Indica a un cliente COM que todas las clases de la versión actual de un ensamblado son compatibles con las clases de una versión anterior del ensamblado.

public ref class ComCompatibleVersionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
public sealed class ComCompatibleVersionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComCompatibleVersionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
type ComCompatibleVersionAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComCompatibleVersionAttribute = class
    inherit Attribute
Public NotInheritable Class ComCompatibleVersionAttribute
Inherits Attribute
Herencia
ComCompatibleVersionAttribute
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo especificar la versión del ensamblado 1.0.0.0 en un ensamblado con un número de versión superior. Independientemente de la nueva versión del ensamblado, todos los CLSID del ensamblado se generan con la versión 1.0.0.0 en lugar de usar la versión actual del ensamblado.

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;

[assembly: AssemblyVersion("3.0.0.0")];
[assembly: ComCompatibleVersion(1,0,0,0)];
namespace MyNamespace
{
    public ref class TheClass
    {
        // Insert code.
    };
};
using System;
using System.Reflection;
using System.Runtime.InteropServices;

[assembly: AssemblyVersion("3.0.0.0")]
[assembly: ComCompatibleVersion(1,0,0,0)]
namespace MyNamespace
{
    public class TheClass
    {
        // Insert code.
    }
}
Imports System.Reflection
Imports System.Runtime.InteropServices

<assembly: AssemblyVersion("3.0.0.0")>
<assembly: ComCompatibleVersion(1,0,0,0)>
Namespace MyNamespace
    Public Class TheClass
        ' Insert code.
    End Class
End Namespace

Comentarios

Puede aplicar este atributo a ensamblados.

De forma predeterminada, el Tlbexp.exe (exportador de biblioteca de tipos) usa el número de versión de un ensamblado para calcular identificadores de clase (CLSID). Todas las clases públicas y visibles para COM reciben nuevos CLSID cada vez que se exporta una nueva versión de ensamblado.

Puede aplicar el ComCompatibleVersionAttribute atributo para forzar que todos los CLSID para las clases de la versión actual de un ensamblado sean los mismos que los CLSID para las clases de una versión anterior del ensamblado. Siempre que los CLSID permanezcan iguales, una aplicación COM heredada puede usar la versión posterior de un ensamblado compatible después de desinstalar el ensamblado original. Si aplica a System.Runtime.InteropServices.GuidAttribute una clase para establecer explícitamente su CLSID, no ComCompatibleVersionAttribute tiene ningún efecto.

Las propiedades de este atributo se combinan para formar las cuatro partes de una versión de ensamblado. Especifique siempre la versión más baja con la que el ensamblado actual es compatible con versiones anteriores para que la versión se use para calcular todos los CLSID del ensamblado.

Constructores

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Inicializa una nueva instancia de la clase ComCompatibleVersionAttribute con los números especificados de versión principal, versión secundaria, versión de compilación y revisión del ensamblado.

Propiedades

BuildNumber

Obtiene el número de compilación del ensamblado.

MajorVersion

Obtiene el número de versión principal del ensamblado.

MinorVersion

Obtiene el número de versión secundaria del ensamblado.

RevisionNumber

Obtiene el número de revisión del ensamblado.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Consulte también