PrimaryInteropAssemblyAttribute クラス

この属性が適用されたアセンブリが、プライマリ相互運用機能アセンブリであることを示します。

この型のすべてのメンバの一覧については、PrimaryInteropAssemblyAttribute メンバ を参照してください。

System.Object
   System.Attribute
      System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute

<AttributeUsage(AttributeTargets.Assembly)>
NotInheritable Public Class PrimaryInteropAssemblyAttribute   Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Assembly)]
public sealed class PrimaryInteropAssemblyAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Assembly)]
public __gc __sealed class PrimaryInteropAssemblyAttribute :   public Attribute
[JScript]
public
   AttributeUsage(AttributeTargets.Assembly)
class PrimaryInteropAssemblyAttribute extends Attribute

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

この属性は、タイプ ライブラリをインポートするときに タイプ ライブラリ インポータ (Tlbimp.exe) が基本的に自動適用しますが、アセンブリに明示的に適用することもできます。

相互運用機能アセンブリには既存の COM 型を記述するメタデータが含まれていますが、これは多くの場合 COM タイプ ライブラリに既に記述されています。Tlbimp.exe は、COM タイプ ライブラリから相互運用機能アセンブリを生成します。通常、相互運用機能アセンブリには、コードではなくメタデータだけを格納します。プライマリ相互運用機能アセンブリは、それらのアセンブリが記述しているタイプ ライブラリと同じ発行元によって提供され、そのタイプ ライブラリで定義されている型の正式な定義を提供します。プライマリ相互運用機能アセンブリは、必ずそれぞれの発行元によって署名され、その一意性が確保されます。

プライマリ相互運用機能アセンブリは、以下の方法でタイプ ライブラリから生成できます。

  • /primary オプションを付けて TlbImp.exe をコマンドラインから実行します。
  • デザイン時に PrimaryInteropAssemblyAttribute を適用します。

マネージ ソース コードでプライマリ相互運用機能アセンブリを指定するには、デザイン時に System.Runtime.InteropServices.GuidAttributePrimaryInteropAssemblyAttribute をアセンブリに適用する必要があります。プライマリ相互運用機能アセンブリの GuidAttribute は、タイプ ライブラリの LIBID を識別し、 PrimaryInteropAssemblyAttribute は、該当するアセンブリがプライマリ相互運用機能アセンブリである特定のタイプ ライブラリのバージョンを識別します。アセンブリが、同じタイプ ライブラリの複数バージョンのプライマリ相互運用機能アセンブリである場合は、 PrimaryInteropAssemblyAttribute が何度も使用されることがあります。

タイプ ライブラリで定義されている型を使用する場合は、その型自体を再インポートまたは再定義するのではなく、そのタイプ ライブラリに対応するプライマリ相互運用機能アセンブリを参照します。プライマリ相互運用機能アセンブリの生成方法および使用方法のガイドラインと手順については、「 プライマリ相互運用機能アセンブリ 」を参照してください。タイプ ライブラリのインポート プロセスの詳細については、「 タイプ ライブラリからアセンブリへの変換の要約 」を参照してください。

必要条件

名前空間: System.Runtime.InteropServices

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: Mscorlib (Mscorlib.dll 内)

参照

PrimaryInteropAssemblyAttribute メンバ | System.Runtime.InteropServices 名前空間 | GuidAttribute | タイプ ライブラリ インポータ (Tlbimp.exe) | プライマリ相互運用機能アセンブリ