MSBuild Well-known Item Metadata

Note

This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. Download it here.

The latest version of this topic can be found at 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: 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:

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

2004-08-14 16:52:36.3168743

See Also

Items
Batching
MSBuild Reference