ComCompatibleVersionAttribute Класс

Определение

Указывает com-клиенту, что все классы в текущей версии сборки совместимы с классами в более ранней версии сборки.

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
Наследование
ComCompatibleVersionAttribute
Атрибуты

Примеры

В следующем примере показано, как указать сборку версии 1.0.0.0 в сборке с более высоким номером версии. Независимо от новой версии сборки, все CLSID в сборке создаются с помощью версии 1.0.0.0.0 вместо использования текущей версии сборки.

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

Комментарии

Этот атрибут можно применить к сборкам.

По умолчанию Tlbexp.exe (экспортер библиотек типов) использует номер версии сборки для вычисления идентификаторов классов (CLSID). Все общедоступные классы COM-видимых классов получают новые CLSID при каждом экспорте новой версии сборки.

Атрибут можно применить для принудительного применения ComCompatibleVersionAttribute всех CLSID для классов в текущей версии сборки, что и CLSID для классов в более ранней версии сборки. Пока CLSID остаются прежними, устаревшее COM-приложение может использовать более позднюю версию совместимой сборки после удаления исходной сборки. Если вы применяете класс к классу System.Runtime.InteropServices.GuidAttribute , чтобы явно задать его CLSID, ComCompatibleVersionAttribute это не влияет.

Свойства этого атрибута объединяются для формирования четырех частей версии сборки. Всегда указывайте самую низкую версию, с которой текущая сборка является обратной совместимой, чтобы версия использовалась для вычисления всех CLSID в сборке.

Конструкторы

Имя Описание
ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Инициализирует новый экземпляр ComCompatibleVersionAttribute класса с основной версией, дополнительными версиями, номерами сборки и редакции сборки.

Свойства

Имя Описание
BuildNumber

Возвращает номер сборки сборки сборки.

MajorVersion

Возвращает основной номер версии сборки.

MinorVersion

Возвращает дополнительный номер версии сборки.

RevisionNumber

Возвращает номер редакции сборки.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

Применяется к

См. также раздел