次の方法で共有


方法: 手動でプライマリ相互運用機能アセンブリを作成する

タイプ ライブラリの作成ではあまり使用される方法ではありませんが、共通言語仕様 (CLS: Common Language Specification) に準拠した C# などの言語を使用して、ソース コード内で手動でプライマリ相互運用機能アセンブリを作成することもできます。 この方法は、タイプ ライブラリが利用できない場合に便利です。

ソース コード内でプライマリ相互運用機能アセンブリを生成するには

  1. ソース コード内で相互運用機能アセンブリを作成します。 手順については、「手動によるラッパーの作成」を参照してください。 プライマリ相互運用機能アセンブリを手動で作成する場合は、元のタイプ ライブラリのすべての COM 型を含める必要があります。

  2. アセンブリ レベルで、次の属性を適用します。

    1. AssemblyKeyFileAttribute または AssemblyKeyNameAttribute。厳密な名前でアセンブリに署名するときに使用するキー ペアを格納するファイルまたはコンテナーの名前を指定します。

    2. GuidAttribute。対象となるタイプ ライブラリのライブラリ ID (LIBID) を指定します。

    3. PrimaryInteropAssemblyAttribute。プライマリ相互運用機能アセンブリとなるアセンブリを識別します。

      メモメモ

      コンパイル時にアセンブリに遅延署名することもできます。詳細については、「アセンブリへの遅延署名」を参照してください。

    CompanyA.snk という名前のキー ファイルを使って AssemblyKeyFileAttribute を適用し、このアセンブリをタイプ ライブラリ バージョン 4.2 と 5.2 をサポートするプライマリ相互運用機能アセンブリとして指定するコード例を次に示します。 この例に示されているように、追加のアセンブリ レベルの属性を適用することによって、複数のバージョンのタイプ ライブラリをラップできます。

    [assembly:AssemblyKeyFile(@"..\..\CompanyA.snk")]
    [assembly:Guid("97d25db0-0363-1cf-abc4-02608 c9e7553"]
    [assembly:PrimaryInteropAssembly(4, 2)]
    [assembly:PrimaryInteropAssembly(5, 2)]
    

参照

処理手順

方法: Tlbimp.exe を使用してプライマリ相互運用機能アセンブリを生成する

方法: 複数のバージョンのタイプ ライブラリをラップする

概念

プライマリ相互運用機能アセンブリの生成

プライマリ相互運用機能アセンブリの作成