Partilhar via


ComCompatibleVersionAttribute Classe

Definição

Indica a um cliente COM que todas as classes na versão atual de um assembly são compatíveis com as classes em uma versão anterior do assembly.

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
Herança
ComCompatibleVersionAttribute
Atributos

Exemplos

O exemplo a seguir mostra como especificar a versão do assembly 1.0.0.0 em um assembly com um número de versão mais alto. Independentemente da nova versão do assembly, todos os CLSIDs no assembly são gerados usando a versão 1.0.0.0 em vez de usar a versão atual do assembly.

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

Comentários

Você pode aplicar esse atributo a assemblies.

Por padrão, o Tlbexp.exe (Exportador da Biblioteca de Tipos) usa o número de versão de um assembly para calcular CLSIDs (identificadores de classe). Todas as classes públicas visíveis com COM recebem novos CLSIDs sempre que você exporta uma nova versão do assembly.

Você pode aplicar o ComCompatibleVersionAttribute atributo para forçar que todos os CLSIDs para classes na versão atual de um assembly sejam iguais aos CLSIDs para classes em uma versão anterior do assembly. Enquanto os CLSIDs permanecerem iguais, um aplicativo COM herdado poderá usar a versão posterior de um assembly compatível depois de desinstalar o assembly original. Se você aplicar o a System.Runtime.InteropServices.GuidAttribute uma classe para definir explicitamente seu CLSID, o ComCompatibleVersionAttribute não terá efeito.

As propriedades desse atributo combinam para formar as quatro partes de uma versão do assembly. Sempre especifique a versão mais baixa com a qual o assembly atual é compatível com versões anteriores para que a versão seja usada para calcular todos os CLSIDs no assembly.

Construtores

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Inicializa uma nova instância da classe ComCompatibleVersionAttribute com os números da versão principal, da versão secundária, de build e de revisão do assembly.

Propriedades

BuildNumber

Obtém o número de build do assembly.

MajorVersion

Obtém o número de versão principal do assembly.

MinorVersion

Obtém o número de versão secundária do assembly.

RevisionNumber

Obtém o número de revisão do assembly.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

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

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

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

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Confira também