ComCompatibleVersionAttribute 클래스

정의

현재 어셈블리 버전의 모든 클래스가 이전 어셈블리 버전의 클래스와 호환된다는 것을 COM 클라이언트에 나타냅니다.Indicates to a COM client that all classes in the current version of an assembly are compatible with classes in an earlier version of the assembly.

public ref class ComCompatibleVersionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComCompatibleVersionAttribute : Attribute
type ComCompatibleVersionAttribute = class
    inherit Attribute
Public NotInheritable Class ComCompatibleVersionAttribute
Inherits Attribute
상속
ComCompatibleVersionAttribute
특성

예제

다음 예제에서는 더 높은 버전 번호를 사용 하 여 어셈블리에서 어셈블리 버전 1.0.0.0 지정 하는 방법을 보여 줍니다.The following example shows how to specify assembly version 1.0.0.0 in an assembly with a higher version number. 새 어셈블리 버전에 관계 없이 모든 Clsid 어셈블리의 버전 1.0.0.0을 사용 하 여 현재 어셈블리 버전을 사용 하는 대신 생성 됩니다.Regardless of the new assembly version, all CLSIDs in the assembly are generated using version 1.0.0.0 instead of using the current assembly version.

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

설명

어셈블리에이 특성을 적용할 수 있습니다.You can apply this attribute to assemblies.

기본적으로 tlbexp.exe (형식 라이브러리 내보내기) 는 어셈블리의 버전 번호를 사용 하 여 클래스 식별자 (clsid)를 계산 합니다.By default, the Tlbexp.exe (Type Library Exporter) uses an assembly's version number to calculate class identifiers (CLSIDs). 모든 공용 COM 노출 클래스 수신 새로운 Clsid 될 때마다 새 어셈블리 버전을 내보냅니다.All public, COM-visible classes receive new CLSIDs each time you export a new assembly version.

ComCompatibleVersionAttribute 특성을 적용 하 여 어셈블리의 현재 버전에 있는 클래스에 대 한 모든 Clsid를 이전 버전의 어셈블리에 있는 클래스의 Clsid와 동일 하 게 강제할 수 있습니다.You can apply the ComCompatibleVersionAttribute attribute to force all CLSIDs for classes in the current version of an assembly to be the same as CLSIDs for classes in an earlier version of the assembly. Clsid가 동일 하지만으로 레거시 COM 애플리케이션 원본 어셈블리를 제거한 후 호환 되는 어셈블리의 최신 버전을 사용할 수 있습니다.As long as the CLSIDs remain the same, a legacy COM application can use the later version of a compatible assembly after you uninstall the original assembly. 클래스에 System.Runtime.InteropServices.GuidAttribute를 적용 하 여 명시적으로 CLSID를 설정 하는 경우 ComCompatibleVersionAttribute는 영향을 주지 않습니다.If you apply the System.Runtime.InteropServices.GuidAttribute to a class to explicitly set its CLSID, the ComCompatibleVersionAttribute has no effect.

이 특성의 속성은 어셈블리 버전의 폼 네 가지 부분에 결합합니다.The properties of this attribute combine to form the four parts of an assembly version. 항상 현재 어셈블리 이므로 이전 버전과 호환 버전 어셈블리의 모든 Clsid를 계산 하는 가장 낮은 버전을 지정 합니다.Always specify the lowest version that the current assembly is backward compatible with so that version is used to calculate all CLSIDs in the assembly.

생성자

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

주 버전, 부 버전, 빌드 번호 및 수정 번호를 사용하여 ComCompatibleVersionAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ComCompatibleVersionAttribute class with the major version, minor version, build, and revision numbers of the assembly.

속성

BuildNumber

어셈블리의 빌드 번호를 가져옵니다.Gets the build number of the assembly.

MajorVersion

어셈블리의 주 버전 번호를 가져옵니다.Gets the major version number of the assembly.

MinorVersion

어셈블리의 부 버전 번호를 가져옵니다.Gets the minor version number of the assembly.

RevisionNumber

어셈블리의 수정 번호를 가져옵니다.Gets the revision number of the assembly.

TypeId

파생 클래스에서 구현될 때 이 Attribute의 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether this instance is equal to a specified object.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(다음에서 상속됨 Attribute)
Match(Object)

파생된 클래스에서 재정의할 경우,이 인스턴스가 지정된 된 개체와 같은지 여부를 나타내는 값을 반환 합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 string을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보