ComCompatibleVersionAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |