MSBuild 用語集

Microsoft Build Engine (MSBuild) とそのコンポーネントについて説明するうえで、次の用語が使用されます。

AssemblyFoldersEx

サードパーティ ベンダーがサポートする各バージョンのフレームワークのパスを格納するレジストリの場所。デザイン時に、この場所で参照アセンブリを検索して解決できます。

バッチ処理

バッチ処理とは、項目メタデータに基づいて項目を異なるカテゴリ (バッチ) に分割し、バッチごとにターゲットまたはタスクを 1 回実行することを意味します。 バッチ処理は、for ループ コンストラクトと同等の MSBuild 機能です。 詳細については、「MSBuild バッチ」をご覧ください。

ビルド スコープ

ビルド スコープは、プロジェクトや複数プロジェクトのビルドで作成される子プロジェクトから参照できる可能性がある MSBuild オブジェクト (グローバル プロパティなど) を示します。

子プロジェクト

プロジェクト、子」を参照してください。

condition

MSBuild の多くの要素は、Condition 属性を使用して条件付きで定義できます。 条件が true と評価されないと、条件付き要素の内容は無視されます。 詳細については、「条件」を参照してください。

定義、項目

項目定義」を参照してください。

項目の生成

ビルドの実行フェーズで、Output 属性を持つ ItemName 子要素を含むタスクによって項目を作成または変更できます。 このタスクを新しい項目の "生成" と言います。

プロパティの生成

ビルドの実行フェーズで、Output 属性を持つ PropertyName 子要素を含むタスクによってプロパティを作成または変更できます。 このタスクを新しいプロパティの "生成" と言います。

評価フェーズ

評価は、プロジェクト ビルドの最初のフェーズです。 すべてのプロパティおよび項目は、プロジェクトに表示される順に評価されます。 インポートされたプロジェクトは、プロジェクト内で検出されると評価されます。 ターゲットとタスクは実行フェーズまで実行されず、ターゲットとタスクによって宣言または生成されるプロパティまたは項目は評価時には無視されます。

実行フェーズ

実行は、プロジェクト ビルドの 2 番目のフェーズです。 選択されたターゲットがビルドされ、タスクが実行されます。 プロパティと項目をそれらの評価値と比較して作成または変更できます。

関数、プロパティ

プロパティ関数」を参照してください。

関数、項目

「項目関数」を参照してください。

item

項目とはビルド システムへの入力を表すものです。要素名に基づき、項目の種類としてグループ化されます。 項目は、通常はファイルを表します。 項目名はそれぞれが属する項目の種類によって指定されるため、項目項目値という用語は同義です。 詳細については、「MSBuild 項目」をご覧ください。

項目定義

項目定義グループには、任意の項目の種類に既定のメタデータを追加する項目定義が含まれます。 既知のメタデータと同様に、既定のメタデータも、指定された項目の種類に含まれるすべての項目に関連付けられます。 既定のメタデータは、項目定義を使用して明示的にオーバーライドできます。 詳細については、「項目定義」を参照してください。

項目関数

項目関数は、プロジェクト内の項目に関する情報を取得します。 これらの関数により、Distinct() 項目の取得が簡素化され、項目をループ処理するよりも処理が速くなります。 項目のパスと文字列を操作する関数があります。 詳細については、「項目用の関数」を参照してください。

項目メタデータ

メタデータ、項目」を参照してください。

項目の種類

項目の種類は項目の名前付きリストであり、タスクのパラメーターとして使用できます。 タスクは項目値を使用して、ビルド処理のステップを実行します。 詳細については、「MSBuild 項目」をご覧ください。

メタデータ、項目

項目メタデータは、項目に関連付けられている名前と値のペアのコレクションです。 メタデータは、項目に関する説明情報を示すもので、既知のメタデータ以外は省略可能です。 詳細については、「MSBuild 項目」をご覧ください。

メタデータ、既知

既知のメタデータは、定義済みの値を使用して初期化される読み取り専用の項目メタデータです。 既知のメタデータは、ファイルを参照する項目に関する説明情報を示します。 たとえば、FullPath という名前の既知のメタデータの値は、参照先のファイルの完全パスです。 詳細については、「MSBuild 項目」をご覧ください。

マルチ ターゲット

アプリケーションまたはアセンブリ プロジェクトのターゲットを、MSBuild および Visual Studio からの多数の異なる CLR およびフレームワークにすることができる機能。

プロファイル

完全なフレームワークのサブセット。 コンピューターへのダウンロード容量を最小限にするために使用されます。

プロジェクト ファイル

プロジェクト ファイルには、ビルドを制御する MSBuild スクリプトが含まれています。 通常、プロジェクト ファイルには、.csproj.vbproj などの proj で終わるファイル拡張子が付きます。 プロジェクト ファイルには、プロパティ ファイルとターゲット ファイルをインポートできます。

property

プロパティは、ビルド処理を制御するために使用されるキーと値のペアです。 詳細については、「MSBuild プロパティ」を参照してください。

プロパティ、環境

環境プロパティは、同じ名前のシステム環境変数の値に自動的に初期化されるプロパティです。 詳細については、「MSBuild プロパティ」を参照してください。

プロパティ ファイル

プロパティ ファイルは、ビルドを制御するプロパティ グループと項目グループを主に含むプロジェクト ファイルです。 規則により、.props というファイル拡張子が付きます。 プロパティ ファイルは、通常、関連付けられたプロジェクト ファイルの先頭にインポートされます。

プロパティ、関数

プロパティ関数は、MSBuild スクリプトを評価するために使用できるシステム プロパティまたはメソッドです。 プロパティ メソッドを使用すると、システム時刻の読み取り、文字列の比較、正規表現の照合、その他の処理を実行できます。 詳細については、「プロパティ関数」を参照してください。

プロパティ関数、入れ子

プロパティ関数を組み合わせて、より複雑な関数を作成できます。 たとえば、次のように入力します。

$([MSBuild]::BitwiseAnd(32, $([System.IO.File]::GetAttributes(tempFile))))

詳細については、「プロパティ関数」を参照してください。

プロパティ、グローバル

グローバル プロパティは、ビルド処理を制御するために使用されるキーと値のペアです。 グローバル プロパティを設定するには、コマンド プロンプトまたは MSBuild タスクProperties 属性を使用します。このプロパティは、ビルドの評価フェーズ中には変更できません。 詳細については、「MSBuild プロパティ」を参照してください。

プロパティ、ローカル

ローカル プロパティは、ビルド処理を制御するために使用されるキーと値のペアです。 この用語は、グローバル プロパティ以外のプロパティを区別するためにのみ使用されます。

プロパティ、レジストリ

レジストリ プロパティは、システム レジストリのサブキーの値を読み取る特別な構文を使用して設定される値を示します。 詳細については、「MSBuild プロパティ」を参照してください。

プロパティ、予約済み

予約済みのプロパティは、ビルド処理を制御するために使用されるキーと値のペアです。 予約済みのプロパティは、定義済みの値に自動的に初期化されます。 詳細については、「MSBuild プロパティ」を参照してください。

プロジェクト スコープ

プロジェクト スコープは、コンテナーとなるプロジェクト ファイルでのみ参照でき、そのファイルにインポートされるすべてのプロジェクトから参照できる MSBuild オブジェクト (ローカル プロパティなど) を示します。

プロジェクト、子

子プロジェクトは、プロジェクトのビルド時に MSBuild タスクによって作成されます。 この新しいプロジェクトは、MSBuild タスクを含むターゲットを格納またはインポートするプロジェクトの子です。 子プロジェクトは、Properties 属性によって変更されない限り、親プロジェクトのグローバル プロパティを継承します。

再頒布リスト

再頒布リストは、指定されたフレームワークに対応するアセンブリのリストです。

参照アセンブリ

アプリケーションを作成するためにデザイン時に使用されるアセンブリ。 参照アセンブリでは、メタデータとパブリック インターフェイスのみを残し、実際のコードとプライベート インターフェイスを削除できます。

レジストリ プロパティ

プロパティ、レジストリ」を参照してください。

ターゲット (target)

ターゲットは、タスクを特定の順序でグループ化し、プロジェクト ファイルの各セクションを、ビルド処理のエントリ ポイントとして公開する役割を果たします。 詳細については、ターゲット を参照してください。

ターゲット、ビルド

「ターゲット、動作」を参照してください。

ターゲット、評価

インクリメンタル コンパイルのために、ターゲットを分析してプロパティおよび項目に変更を加える可能性をチェックする必要があります。 ターゲットがスキップされた場合でも、このような変更は行う必要があります。 ターゲットの評価は、この分析を行って変更を加えることを意味します。 詳細については、「インクリメンタル ビルド」を参照してください。

ターゲット、実行

ターゲットの実行は、ターゲットを評価して、条件を持たないタスクまたは条件が true と評価されるタスクをすべて実行することを意味します。 インクリメンタル コンパイルでは、ターゲットはスキップされることも実行されることもありますが、常に評価されます。 詳細については、「ターゲット、評価」を参照してください。

ターゲット、動作

false と評価される条件を持つターゲットは動作しません。つまり、ビルドには影響しません。 動作するターゲットは実行されるかスキップされます。 どちらの場合も、ターゲットは評価されます。 詳細については、「ターゲット、評価」を参照してください。

ターゲット、スキップ

インクリメンタル コンパイルですべての出力ファイルが最新であると判断された場合、ターゲットはスキップされます。つまり、ターゲットは評価されますが、ターゲット内のタスクは実行されません。 詳細については、「ターゲット、評価」を参照してください。

ターゲット フレームワーク モニカー

ターゲットにするフレームワーク (.NETFramework、Silverlight など)、バージョン、およびプロファイル (クライアント、サーバーなど) を説明する名前。

ターゲット パック

指定されたフレームワークと共に配布されるアセンブリのリストと、そのフレームワーク用の参照アセンブリのセット。

ターゲット ファイル

ターゲット ファイルは、ビルドを制御するターゲットとタスクを主に含むプロジェクト ファイルです。 規則により、.targets というファイル拡張子が付きます。 ターゲット ファイルは、通常、関連付けられたプロジェクト ファイルの末尾にインポートされます。

タスク

タスクとは、MSBuild プロジェクトでビルド処理を実行するために使用される実行可能コードの単位です。 たとえば、タスクでは入力ファイルをコンパイルしたり、外部ツールを実行したりします。 詳細については、タスクに関する記事を参照してください。

transform

変換とは、1 つの項目コレクションを別の項目コレクションに一対一で変換することです。 プロジェクトで項目コレクションを変換できます。さらに変換により、ターゲットは入出力間の直接割り当てを指定できるようになります。 詳細については、「MSBuild 変換」をご覧ください。

既知のメタデータ

メタデータ、既知」を参照してください。

関連項目