Condividi tramite


ComCompatibleVersionAttribute Classe

Definizione

Indica a un client COM che tutte le classi della versione corrente di un assembly sono compatibili con le classi della versione precedente.

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
Ereditarietà
ComCompatibleVersionAttribute
Attributi

Esempio

Nell'esempio seguente viene illustrato come specificare l'assembly versione 1.0.0.0 in un assembly con un numero di versione superiore. Indipendentemente dalla nuova versione dell'assembly, tutti i CLSID nell'assembly vengono generati usando la versione 1.0.0.0 anziché usare la versione corrente dell'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

Commenti

È possibile applicare questo attributo agli assembly.

Per impostazione predefinita, il Tlbexp.exe (Type Library Exporter) usa il numero di versione di un assembly per calcolare gli identificatori di classe (CLSID). Tutte le classi pubbliche e visibili COM ricevono nuovi CLSID ogni volta che si esporta una nuova versione dell'assembly.

È possibile applicare l'attributo ComCompatibleVersionAttribute per forzare tutti i CLSID per le classi nella versione corrente di un assembly come CLSID per le classi in una versione precedente dell'assembly. Purché i CLSID rimangano uguali, un'applicazione COM legacy può usare la versione successiva di un assembly compatibile dopo aver disinstallato l'assembly originale. Se si applica l'oggetto a una classe per impostare in modo esplicito il clSID, l'oggetto System.Runtime.InteropServices.GuidAttributeComCompatibleVersionAttribute non ha alcun effetto.

Le proprietà di questo attributo combinano per formare le quattro parti di una versione dell'assembly. Specificare sempre la versione più bassa con cui l'assembly corrente è compatibile con le versioni precedenti in modo che venga usata per calcolare tutti i CLSID nell'assembly.

Costruttori

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Inizializza una nuova istanza della classe ComCompatibleVersionAttribute con i numeri di versione principale e secondaria, di build e di revisione dell'assembly.

Proprietà

BuildNumber

Ottiene il numero di build dell'assembly.

MajorVersion

Ottiene il numero della versione principale dell'assembly.

MinorVersion

Ottiene il numero della versione secondaria dell'assembly.

RevisionNumber

Ottiene il numero di revisione dell'assembly.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche