Freigeben über


ComCompatibleVersionAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt ein COM-Client, dass alle Klassen in der aktuellen Version einer Assembly mit Klassen in einer früheren Version der Assembly kompatibel sind.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Vererbungshierarchie

System.Object
  System.Attribute
    System.Runtime.InteropServices.ComCompatibleVersionAttribute

Syntax

[AttributeUsageAttribute(AttributeTargets.Assembly, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class ComCompatibleVersionAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly, Inherited = false)]
[ComVisibleAttribute(true)]
public ref class ComCompatibleVersionAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Assembly, Inherited = false)>]
[<ComVisibleAttribute(true)>]
type ComCompatibleVersionAttribute = 
    class
        inherit Attribute
    end
<AttributeUsageAttribute(AttributeTargets.Assembly, Inherited := False)>
<ComVisibleAttribute(True)>
Public NotInheritable Class ComCompatibleVersionAttribute
    Inherits Attribute

Konstruktoren

Name Beschreibung
System_CAPS_pubmethod ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der ComCompatibleVersionAttribute -Klasse mit der Hauptversion, Nebenversion, Build und die Revisionsnummer der Assembly.

Eigenschaften

Name Beschreibung
System_CAPS_pubproperty BuildNumber

Ruft die Buildnummer der Assembly ab.

System_CAPS_pubproperty MajorVersion

Ruft die Hauptversionsnummer der Assembly ab.

System_CAPS_pubproperty MinorVersion

Ruft die Nebenversionsnummer der Assembly ab.

System_CAPS_pubproperty RevisionNumber

Ruft die Revisionsnummer der Assembly ab.

System_CAPS_pubproperty TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

Methoden

Name Beschreibung
System_CAPS_pubmethod Equals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethod GetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethod GetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethod 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“.)

System_CAPS_pubmethod Match(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethod ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Explizite Schnittstellenimplementierungen

Name Beschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod _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“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod _Attribute.GetTypeInfoCount(UInt32)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethod _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“.)

Hinweise

Dieses Attribut kann auf Assemblys angewendet werden.

In der Standardeinstellung die Tlbexp.exe (Type Library Exporter) verwendet die Versionsnummer einer Assembly zum Berechnen der Klassenbezeichner (CLSID). Alle öffentlichen, für COM sichtbaren Klassen empfangen neue CLSIDs jedes Mal eine neue Version der Assembly zu exportieren.

Sie können Anwenden der ComCompatibleVersionAttribute Attribut zu erzwingen, dass alle CLSIDs für Klassen in der aktuellen Version einer Assembly mit den CLSIDs für Klassen in einer früheren Version der Assembly identisch. Solange die CLSIDs unverändert bleiben, kann eine ältere COM-Anwendung nach der Deinstallation der ursprünglichen Assembly die neuere Version einer kompatiblen Assembly verwenden. Wenden Sie die System.Runtime.InteropServices.GuidAttribute auf eine Klasse explizit festlegen, die CLSID der ComCompatibleVersionAttribute hat keine Auswirkung.

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

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie 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 mit Version 1.0.0.0 anstatt mit der aktuellen Assemblyversion generiert.

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
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
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.
    };
};

Versionsinformationen

.NET Framework
Verfügbar seit 1.1

Threadsicherheit

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Siehe auch

GuidAttribute
System.Runtime.InteropServices-Namespace
Tlbexp.exe (Type Library Exporter)

Zurück zum Anfang