RegisterAssembly タスク

更新 : 2007 年 11 月

指定されたアセンブリに含まれるメタデータを読み込み、必要なエントリをレジストリに追加します。このため、COM クライアントは特別な処理を必要とすることなく .NET Framework クラスを作成できます。このタスクの動作は、完全に同じではありませんが、アセンブリ登録ツール (Regasm.exe) の動作に似ています。

パラメータ

RegisterAssembly タスクのパラメータの説明を次の表に示します。

パラメータ

説明

Assemblies

必須の ITaskItem[] 型のパラメータです。

COM に登録するアセンブリを指定します。

AssemblyListFile

省略可能な ITaskItem 型のパラメータです。

RegisterAssembly タスクと UnregisterAssembly タスクの間の状態に関する情報が含まれます。これによって、RegisterAssembly タスクで登録に失敗したアセンブリの登録を UnregisterAssembly タスクが解除しないようにできます。

CreateCodeBase

省略可能な Boolean 型のパラメータです。

true に設定すると、レジストリに Codebase エントリが作成されます。Codebase エントリは、グローバル アセンブリ キャッシュにインストールされていないアセンブリのファイル パスを指定するものです。登録しようとしているアセンブリを、後でグローバル アセンブリ キャッシュにインストールする場合は、このオプションを指定する必要はありません。

TypeLibFiles

省略可能な ITaskItem[] 型の出力パラメータです。

指定したアセンブリから生成するタイプ ライブラリを指定します。生成されるタイプ ライブラリには、アセンブリ内で定義されているアクセス可能なタイプが格納されます。タイプ ライブラリは、以下のいずれかの条件を満たす場合にだけ作成されます。

  • 指定の場所に、同じ名前のタイプ ライブラリが存在しない。

  • タイプ ライブラリが存在するが、渡されたアセンブリよりも古い。

渡されたアセンブリよりもタイプ ライブラリの方が新しい場合、新しいタイプ ライブラリは作成されませんが、アセンブリの登録は行われます。

このパラメータを指定する場合には、Assemblies パラメータに指定したアイテムと同じ数のアイテムを指定する必要があります。数が異なると、タスクは失敗します。指定しなかった場合には、既定でアセンブリの名前が使用され、アイテムの拡張子は .tlb に変更されます。

使用例

RegisterAssembly タスクを使用して、MyAssemblies アイテム コレクションで指定されたアセンブリを登録する例を次に示します。

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MyAssemblies Include="MyAssembly.dll" />
    <ItemGroup>

    <Target Name="RegisterAssemblies">
        <RegisterAssembly
            Assemblies="@(MyAssemblies)" >
    </Target>

</Project>

参照

概念

MSBuild タスク

その他の技術情報

MSBuild タスク リファレンス