次の方法で共有


AL (アセンブリ リンカ) タスク

更新 : 2007 年 11 月

AL タスクは、Windows Software Development Kit (SDK) と一緒に配布される AL.exe ツールをラップします。このアセンブリ リンカ ツールは、モジュール ファイルまたはリソース ファイルである 1 つ以上のファイルから、マニフェスト付きでアセンブリを作成するために使用されます。これらの機能はコンパイラおよび開発環境に既に備わっている場合があるため、必ずしもこのタスクを直接使用する必要はありません。アセンブリ リンカが最も役立つのは、開発者が混合言語による開発で生成されるコンポーネント ファイルなどの複数のコンポーネント ファイルから 1 つのアセンブリを作成する必要がある場合です。このタスクは、各モジュールを 1 つのアセンブリ ファイルに結合するものではありません。作成されたアセンブリを正常に読み込むためには、個々のモジュールを引き続き配布して、配布先で使用できるようにする必要があります。AL.exe の詳細については、「アセンブリ リンカ (Al.exe)」を参照してください。

パラメータ

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

パラメータ

説明

AlgorithmID

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

アセンブリ マニフェストを含むファイルを除き、マルチファイル アセンブリ内の全ファイルをハッシュするためのアルゴリズムを指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /algid オプションの説明を参照してください。

BaseAddress

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

実行時にユーザーのコンピュータに DLL を読み込む先のアドレスを指定します。オペレーティング システムにプロセス空間内で DLL を再配置させる代わりに DLL のベース アドレスを指定しておくと、アプリケーションの読み込み速度が速くなります。このパラメータは、「アセンブリ リンカ (Al.exe)」の /base[address] オプションに対応します。

CompanyName

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

アセンブリの Company フィールドの文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /comp[any] オプションの説明を参照してください。

Configuration

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

アセンブリの Configuration フィールドの文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /config[uration] オプションの説明を参照してください。

Copyright

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

アセンブリの Copyright フィールドの文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /copy[right] オプションの説明を参照してください。

Culture

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

アセンブリに関連付けるカルチャ文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /c[ulture] オプションの説明を参照してください。

DelaySign

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

公開キーだけをアセンブリに格納する場合は true、アセンブリに完全に署名する場合は false にします。詳細については、「アセンブリ リンカ (Al.exe)」の /delay[sign] オプションの説明を参照してください。

Description

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

アセンブリの Description フィールドの文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /descr[iption] オプションの説明を参照してください。

EmbedResources

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

指定されたリソースを、アセンブリ マニフェストを格納するイメージに埋め込みます。このタスクでは、リソース ファイルの内容をイメージにコピーします。このパラメータに渡すアイテムには、LogicalName および Access と呼ばれるオプションのメタデータを付加することができます。LogicalName メタデータは、リソースの内部 ID を指定するために使用します。Access メタデータを private に設定すると、このリソースを他のアセンブリで表示できないようにすることができます。詳細については、「アセンブリ リンカ (Al.exe)」の /embed[resource] オプションの説明を参照してください。

EvidenceFile

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

Security.Evidence のリソース名を持つアセンブリに、指定されたファイルを埋め込みます。

通常のリソースに対して Security.Evidence を使用することはできません。このパラメータは、「アセンブリ リンカ (Al.exe)」の /e[vidence] オプションに対応します。

ExitCode

省略可能な Int32 型の読み取り専用出力パラメータです。

実行したコマンドの終了コードを示します。

FileVersion

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

アセンブリの File Version フィールドの文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /fileversion オプションの説明を参照してください。

Flags

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

アセンブリの Flags フィールドに値を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /flags オプションの説明を参照してください。

GenerateFullPaths

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

エラー メッセージで報告されるすべてのファイルについて、絶対パスを使用するようタスクに指定します。このパラメータは、「アセンブリ リンカ (Al.exe)」の /fullpaths オプションに対応します。

KeyContainer

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

キー ペアを保持するコンテナを指定します。これにより、公開キーがアセンブリ マニフェストに挿入され、アセンブリに署名 (厳密な名前が指定) されます。次に、タスクは最終的なアセンブリに秘密キーで署名します。詳細については、「アセンブリ リンカ (Al.exe)」の /keyn[ame] オプションの説明を参照してください。

KeyFile

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

アセンブリに署名するためのキー ペアまたは公開キーだけを含むファイルを指定します。コンパイラは、アセンブリ マニフェストに公開キーを挿入し、最終的なアセンブリに秘密キーで署名します。詳細については、「アセンブリ リンカ (Al.exe)」の /keyf[ile] オプションの説明を参照してください。

LinkResources

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

指定されたリソース ファイルをアセンブリにリンクします。リソースはアセンブリの一部になりますが、ファイルはコピーされません。このパラメータに渡すアイテムには、LogicalNameTarget、および Access と呼ばれるオプションのメタデータを付加することができます。LogicalName メタデータは、リソースの内部 ID を指定するために使用します。Target メタデータは、タスクがファイルをコピーする場所のパスとファイル名を指定できます。その後、この新しいファイルはアセンブリにコンパイルされます。Access メタデータを private に設定すると、このリソースを他のアセンブリで表示できないようにすることができます。詳細については、「アセンブリ リンカ (Al.exe)」の /link[resource] オプションの説明を参照してください。

MainEntryPoint

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

モジュールを実行可能ファイルに変換するときにエントリ ポイントとして使用する、メソッドの完全修飾名 (class.method) を指定します。このパラメータは、「アセンブリ リンカ (Al.exe)」の /main オプションに対応します。

OutputAssembly

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

このタスクで作成されるファイルの名前を指定します。このパラメータは、「アセンブリ リンカ (Al.exe)」の /out オプションに対応します。

Platform

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

このコードを実行できるプラットフォームを限定します。x86Itaniumx64、または anycpu のいずれかです。既定値は、anycpu です。このパラメータは、「アセンブリ リンカ (Al.exe)」の /platform オプションに対応します。

ProductName

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

アセンブリの Product フィールドに文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /prod[uct] オプションの説明を参照してください。

ProductVersion

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

アセンブリの ProductVersion フィールドに文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /productv[ersion] オプションの説明を参照してください。

ResponseFiles

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

アセンブリ リンカに渡す追加のオプションを含む応答ファイルを指定します。

SourceModules

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

アセンブリにコンパイルする 1 つ以上のモジュールです。モジュールは作成されるアセンブリのマニフェストに一覧表示されますが、アセンブリを読み込むには、モジュールを配布して、配布先で使用できるようにする必要があります。このパラメータに渡されるアイテムには、Target と呼ばれるメタデータを付加することができます。このメタデータは、タスクがファイルをコピーする場所のパスとファイル名を指定できます。その後、この新しいファイルはアセンブリにコンパイルされます。詳細については、「アセンブリ リンカ (Al.exe)」を参照してください。このパラメータは、特定のスイッチを指定しないで Al.exe に渡したモジュールの一覧に相当します。

TargetType

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

出力ファイルのファイル形式として、library (コード ライブラリ)、exe (コンソール アプリケーション)、または win (Windows ベースのアプリケーション) のいずれかを指定します。既定値は、library です。このパラメータは、「アセンブリ リンカ (Al.exe)」の /t[arget] オプションに対応します。

TemplateFile

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

カルチャ フィールドを除く、すべてのアセンブリ メタデータの継承元であるアセンブリを指定します。厳密な名前を持つアセンブリを指定する必要があります。

TemplateFile パラメータを指定して作成したアセンブリは、サテライト アセンブリになります。このパラメータは、「アセンブリ リンカ (Al.exe)」の /template オプションに対応します。

Timeout

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

タスク実行を終了するまでの時間をミリ秒単位で指定します。既定値は Int.MaxValue であり、タイムアウト期限がないことを示します。

Title

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

アセンブリの Title フィールドに文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /title オプションの説明を参照してください。

ToolPath

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

このタスクで基になる実行可能ファイル (Al.exe) を読み込む場所を指定します。このパラメータが指定されていない場合、このタスクでは、MSBuild を実行しているフレームワークのバージョンに対応する SDK インストール パスを使用します。

Trademark

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

アセンブリの Trademark フィールドに文字列を指定します。詳細については、「アセンブリ リンカ (Al.exe)」の /trade[mark] オプションの説明を参照してください。

Version

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

アセンブリのバージョン情報を指定します。文字列の形式は、major.minor.build.revision です。既定値は 0 です。詳細については、「アセンブリ リンカ (Al.exe)」にある /v[ersion] オプションの説明を参照してください。

Win32Icon

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

.ico ファイルをアセンブリに挿入します。この .ico ファイルは、Windows エクスプローラにおける出力ファイルの視覚的な表現を提供します。このパラメータは、「アセンブリ リンカ (Al.exe)」の /win32icon オプションに対応します。

Win32Resource

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

Win32 リソース (.res ファイル) を出力ファイルに挿入します。詳細については、「アセンブリ リンカ (Al.exe)」の /win32res オプションの説明を参照してください。

使用例

指定されたオプションで、アセンブリを作成する例を次に示します。

<AL
    EmbedResources="@(EmbeddedResource)"
    Culture="%(EmbeddedResource.Culture)"
    TemplateFile="@(IntermediateAssembly)"
    KeyContainer="$(KeyContainerName)"
    KeyFile="$(KeyOriginatorFile)"
    DelaySign="$(DelaySign)"

    OutputAssembly=
       "%(EmbeddedResource.Culture)\$(TargetName).resources.dll">

    <Output TaskParameter="OutputAssembly"
        ItemName="SatelliteAssemblies"/>
</AL>

参照

概念

MSBuild タスク

その他の技術情報

MSBuild タスク リファレンス