ComCompatibleVersionAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, dass alle Klassen in der aktuellen Version einer Assembly mit Klassen in einer früheren Version der 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
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie Assemblyversion 1.0.0.0 in einer Assembly mit einer höheren Versionsnummer angegeben wird. Unabhängig von der neuen Assemblyversion werden alle CLSIDs in der Assembly mit Version 1.0.0.0 und nicht mit der aktuellen Assemblyversion generiert.
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 (Typbibliotheksexporteur) die Versionsnummer einer Assembly zum Berechnen von Klassenbezeichnern (CLSIDs). Alle öffentlichen, COM-sichtbaren Klassen erhalten bei jedem Export einer neuen Assemblyversion neue CLSIDs.
Sie können das ComCompatibleVersionAttribute Attribut anwenden, um alle CLSIDs für Klassen in der aktuellen Version einer Assembly so zu erzwingen, dass sie mit CLSIDs für Klassen in einer früheren Version der Assembly identisch sind. Solange die CLSIDs gleich bleiben, kann eine ältere COM-Anwendung die spätere Version einer kompatiblen Assembly verwenden, nachdem Sie die ursprüngliche Assembly deinstalliert haben. Wenn Sie die System.Runtime.InteropServices.GuidAttribute Klasse auf eine Klasse anwenden, um die CLSID explizit festzulegen, hat dies ComCompatibleVersionAttribute keine Auswirkung.
Die Eigenschaften dieses Attributs werden kombiniert, 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
| Name | Beschreibung |
|---|---|
| ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Initialisiert eine neue Instanz der ComCompatibleVersionAttribute Klasse mit den Hauptversions-, Nebenversions-, Build- und Revisionsnummern 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 |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute. (Geerbt von Attribute) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| GetHashCode() |
Gibt den Hashcode für diesen instance zurück. (Geerbt von Attribute) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IsDefaultAttribute() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
| Match(Object) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| 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 denen 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) |
Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden. (Geerbt von Attribute) |