다음을 통해 공유


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을 사용하여 생성됩니다.

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)

적용 대상

추가 정보