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)]
public sealed class ComCompatibleVersionAttribute : Attribute
type ComCompatibleVersionAttribute = class
    inherit Attribute
Public NotInheritable Class ComCompatibleVersionAttribute
Inherits Attribute

次の例では、より新しいバージョン番号を持つアセンブリのバージョン1.0.0.0 を指定する方法を示します。The following example shows how to specify assembly version 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 instead of using the current assembly version.

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;

[assembly: AssemblyVersion("")];
[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("")]
[assembly: ComCompatibleVersion(1,0,0,0)]
namespace MyNamespace
    public class TheClass
        // Insert code.
Imports System.Reflection
Imports System.Runtime.InteropServices

<assembly: AssemblyVersion("")>
<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.

この属性のプロパティは、アセンブリバージョンの4つの部分を形成するために結合されます。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.



アセンブリのビルド番号を取得します。Gets the build number of the assembly.


アセンブリのメジャー バージョン番号を取得します。Gets the major version number of the assembly.


アセンブリのマイナー バージョン番号を取得します。Gets the minor version number of the assembly.


アセンブリのリビジョン番号を取得します。Gets the revision number of the assembly.


派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(継承元 Attribute)



このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(継承元 Attribute)

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(継承元 Attribute)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(継承元 Attribute)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(継承元 Attribute)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す 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)

オブジェクトが提供する型情報インターフェイスの数 (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)