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 | |
---|---|---|
![]() |
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 | |
---|---|---|
![]() |
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
Name | Beschreibung | |
---|---|---|
![]() |
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“.) |
![]() |
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) | Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.) |
![]() |
ToString() | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.) |
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
![]() ![]() |
_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“.) |
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