ComCompatibleVersionAttribute Classe

Définition

Indique à un client COM que toutes les classes de la version actuelle d'un assembly sont compatibles avec les classes d'une version précédente de l'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
Héritage
ComCompatibleVersionAttribute
Attributs

Exemples

L’exemple suivant montre comment spécifier la version d’assembly 1.0.0.0 dans un assembly avec un numéro de version supérieur. Quelle que soit la nouvelle version de l’assembly, tous les CLSID de l’assembly sont générés à l’aide de la version 1.0.0.0 au lieu d’utiliser la version actuelle de l’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

Remarques

Vous pouvez appliquer cet attribut aux assemblys.

Par défaut, le Tlbexp.exe (exportateur de bibliothèque de types) utilise le numéro de version d’un assembly pour calculer les identificateurs de classe (CLSID). Toutes les classes publiques visibles par COM reçoivent de nouveaux CLSID chaque fois que vous exportez une nouvelle version d’assembly.

Vous pouvez appliquer l’attribut ComCompatibleVersionAttribute pour forcer tous les CLSID pour les classes de la version actuelle d’un assembly à être identiques aux CLSID pour les classes d’une version antérieure de l’assembly. Tant que les CLSID restent les mêmes, une application COM héritée peut utiliser la version ultérieure d’un assembly compatible après avoir désinstallé l’assembly d’origine. Si vous appliquez à System.Runtime.InteropServices.GuidAttribute une classe pour définir explicitement son CLSID, le ComCompatibleVersionAttribute n’a aucun effet.

Les propriétés de cet attribut se combinent pour former les quatre parties d’une version d’assembly. Spécifiez toujours la version la plus basse avec laquelle l’assembly actuel est à compatibilité descendante afin que la version soit utilisée pour calculer tous les CLSID dans l’assembly.

Constructeurs

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Initialise une nouvelle instance de la classe ComCompatibleVersionAttribute avec les numéros de version principale, de version secondaire, de build et de révision de l'assembly.

Propriétés

BuildNumber

Obtient le numéro de build de l'assembly.

MajorVersion

Obtient le numéro de version principale de l'assembly.

MinorVersion

Obtient le numéro de version secondaire de l'assembly.

RevisionNumber

Obtient le numéro de révision de l'assembly.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi