項目メタデータは、項目に添付された値です。 項目の作成時に MSBuild によって項目に割り当てられるものもありますが、必要なメタデータを定義することもできます。 一部のユーザー定義メタデータ値は、MSBuild、特定のタスク、または .NET SDK などの SDK に意味があります。
この記事の表では、作成時にすべての項目に割り当てられるメタデータについて説明します。 次の表は、MSBuild の意味を持つ省略可能なメタデータを示しています。これは、ビルド動作を制御するために定義できます。 各例では、次の項目宣言を使用して、C:\MyProject\Source\Program.cs ファイルをプロジェクトに含めます。
<ItemGroup>
<MyItem Include="Source\Program.cs" />
</ItemGroup>
| 項目のメタデータ | 形容 |
|---|---|
| %(FullPath) | アイテムの完全なパスを格納します。 例えば: C:\MyProject\Source\Program.cs |
| %(RootDir) | 項目のルート ディレクトリを格納します。 例えば: C:\ |
| %(ファイル名) | アイテムのファイル名を拡張子なしで格納します。 例えば: プログラムの |
| %(拡張機能) | アイテムのファイル名拡張子を格納します。 例えば: .cs |
| %(RelativeDir) | 最後の円記号 (\) まで、Include 属性で指定されたパスを格納します。 例えば:ソース\ Include 属性が完全なパスの場合、%(RelativeDir) はルート ディレクトリ %(RootDir)で始まります。 例えば:C:\MyProject\Source\ |
| %(ディレクトリ) | ルート ディレクトリのない項目のディレクトリを格納します。 例えば: MyProject\Source\ |
| %(RecursiveDir) |
Include 属性にワイルドカード **が含まれている場合、このメタデータはワイルドカードを置き換えるパスの部分を指定します。 ワイルドカードの詳細については、「方法:をビルドするファイルを選択する」を参照してください。フォルダー C:\MySolution\MyProject\Source\ にファイル Program.csが含まれている場合、およびプロジェクト ファイルに次の項目が含まれている場合: <ItemGroup><MyItem Include="C:\**\Program.cs" /></ItemGroup>%(MyItem.RecursiveDir) の値は MySolution\MyProject\Source\ になります。 |
| %(ID) |
Include 属性で指定された項目。 例えば:ソース\Program.cs |
| %(ModifiedTime) | アイテムが最後に変更されたときのタイムスタンプを格納します。 例えば:2004-07-01 00:21:31.5073316 |
| %(CreatedTime) | アイテムが作成されたときのタイムスタンプを格納します。 例えば:2004-06-25 09:26:45.8237425 |
| %(AccessedTime) | アイテムが最後にアクセスされたときのタイムスタンプを格納します。2004-08-14 16:52:36.3168743 |
| %(DefiningProjectFullPath) | この項目を定義するプロジェクト ファイル (またはインポートされたファイル) の完全なパスが含まれています。 |
| %(DefiningProjectDirectory) | この項目を定義するプロジェクト ファイル (またはインポートされたファイル) のプロジェクト ディレクトリを格納します。 |
| %(DefiningProjectName) | この項目を定義するプロジェクト ファイル (またはインポートされたファイル) の名前 (拡張子なし) を格納します。 |
| %(DefiningProjectExtension) | この項目を定義するプロジェクト ファイル (またはインポートされたファイル) の拡張子を格納します。 |