ComCompatibleVersionAttribute Klasse

Definition

Gibt für einen COM-Client an, dass alle Klassen in der aktuellen Version einer Assembly mit den Klassen in einer früheren Version der betreffenden Assembly kompatibel sind.

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
Vererbung
ComCompatibleVersionAttribute
Attribute

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie Assemblyversion 1.0.0.0 in einer Assembly mit einer höheren Versionsnummer angeben. Unabhängig von der neuen Assemblyversion werden alle CLSIDs in der Assembly mithilfe von Version 1.0.0.0.0 generiert, anstatt die aktuelle Assemblyversion zu verwenden.

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

Hinweise

Sie können dieses Attribut auf Assemblys anwenden.

Standardmäßig verwendet der Tlbexp.exe (Typbibliotheksexporter) eine Assemblyversionsnummer, um Klassenbezeichner (CLSIDs) zu berechnen. Alle öffentlichen, COM-sichtbaren Klassen erhalten jedes Mal neue CLSIDs, wenn Sie eine neue Assemblyversion exportieren.

Sie können das ComCompatibleVersionAttribute Attribut anwenden, um alle CLSIDs für Klassen in der aktuellen Version einer Assembly zu erzwingen, um die gleichen CLSIDs für Klassen in einer früheren Version der Assembly zu sein. Solange die CLSIDs identisch bleiben, kann eine ältere COM-Anwendung die spätere Version einer kompatiblen Assembly verwenden, nachdem Sie die ursprüngliche Assembly deinstallieren. Wenn Sie die System.Runtime.InteropServices.GuidAttribute Klasse anwenden, um seine CLSID explizit festzulegen, hat dies ComCompatibleVersionAttribute keine Auswirkung.

Die Eigenschaften dieses Attributs kombinieren, um die vier Teile einer Assemblyversion zu bilden. Geben Sie immer die niedrigste Version an, mit der die aktuelle Assembly abwärtskompatibel ist, sodass die Version verwendet wird, um alle CLSIDs in der Assembly zu berechnen.

Konstruktoren

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der ComCompatibleVersionAttribute-Klasse mit der Hauptversions-, Nebenversions-, Build- und Revisionsnummer der Assembly.

Eigenschaften

BuildNumber

Ruft die Buildnummer der Assembly ab.

MajorVersion

Ruft die Hauptversionsnummer der Assembly ab.

MinorVersion

Ruft die Nebenversionsnummer der Assembly ab.

RevisionNumber

Ruft die Revisionsnummer der Assembly ab.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für

Siehe auch