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.

    <MyItem Include="Source\Program.cs" />
Item metadata Description
%(FullPath) Contains the full path of the item. For example:

%(RootDir) Contains the root directory of the item. For example:

%(Filename) Contains the file name of the item, without the extension. For example:

%(Extension) Contains the file name extension of the item. For example:

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


If the Include attribute is a full path, %(RelativeDir) begins with the root directory %(RootDir). For example:

%(Directory) Contains the directory of the item, without the root directory. For example:

%(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: Select the files to build.

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


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


then the value of %(MyItem.RecursiveDir) would be MySolution\MyProject\Source\.
%(Identity) The item specified in the Include attribute. For example:

%(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 item was accessed.

2004-08-14 16:52:36.3168743

See also