MSBuild 已知项元数据

项元数据是附加到项的值。 某些项在创建项时由 MSBuild 分配给项,但你也可以定义所需的任何元数据。 某些用户定义的元数据值对 MSBuild、特定任务或 SDK(如 .NET 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 属性中指定的路径,最长为最终反斜杠 (\)。 例如:

Source\

如果 Include 属性是完整路径,%(RelativeDir) 以根目录 %(RootDir)开头。 例如:

C:\MyProject\Source\
%(目录) 包含项的目录,不包含根目录。 例如:

MyProject\Source\
%(递归Dir) 如果 Include 属性包含通配符 **,则此元数据指定替换通配符的路径的一部分。 有关通配符的详细信息,请参阅 如何:选择要生成的文件。

如果文件夹 C:\MySolution\MyProject\Source\ 包含文件 Program.cs,并且项目文件是否包含此项:

<ItemGroup>

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

</ItemGroup>

然后,%(MyItem.RecursiveDir) 的值将 MySolution\MyProject\Source\
%(标识) Include 属性中指定的项。 例如:

Source\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) 包含定义此项的项目文件(或导入的文件)的扩展名。

另请参阅