MSBuild Well-known Item Metadata

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

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 MetadataDescription
%(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

Items
Batching
MSBuild Reference

Show: