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
- Наследование
- Атрибуты
Примеры
В следующем примере показано, как указать версию сборки 1.0.0.0 в сборке с более высоким номером версии. Независимо от новой версии сборки, все идентификаторы CLSID в сборке создаются с использованием версии 1.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) |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по