MSBuild Well-known Item Metadata

The following table describes the metadata assigned to every item upon creation. In each example, the following item declaration was used to include the file C:\MyProject\Source\Program.cs in the project.

<ItemGroup>
    <MyItem Include="Source\Program.cs" />
</ItemGroup>

Item Metadata

Description

%(FullPath)

Contains the full path of the item. For example:

C:\MyProject\Source\Program.cs

%(RootDir)

Contains the root directory of the item. For example:

C:\

%(Filename)

Contains the file name of the item, without the extension. For example:

Program

%(Extension)

Contains the file name extension of the item. For example:

.cs

%(RelativeDir)

Contains the path specified in the Include attribute, up to the final backslash (\). For example:

Source\

%(Directory)

Contains the directory of the item, without the root directory. For example:

MyProject\Source\

%(RecursiveDir)

If the Include attribute contains the wildcard **, this metadata specifies the part of the path that replaces the wildcard. For more information on wildcards, see How to: Use Wildcards to Build All Files in a Directory.

If the folder C:\MySolution\MyProject\Source\ contains the file Program.cs, and if the project file contains this item:

<ItemGroup>

<MyItem Include="C:\**\Program.cs" />

</ItemGroup>

then the value of %(MyItem.RecursiveDir) would be MySolution\MyProject\Source\.

%(Identity)

The item specified in the Include attribute.. For example:

Source\Program.cs

%(ModifiedTime)

Contains the timestamp from the last time the item was modified. For example:

2004-07-01 00:21:31.5073316

%(CreatedTime)

Contains the timestamp from when the item was created. For example:

2004-06-25 09:26:45.8237425

%(AccessedTime)

Contains the timestamp from the last time the time was accessed.

2004-08-14 16:52:36.3168743

See Also

Concepts

MSBuild Items

MSBuild Batching

Other Resources

MSBuild Reference