【问题标题】:msbuild - tag propertygroup has attribute Label but not documentedmsbuild - 标记属性组具有属性标签但未记录
【发布时间】:2018-03-06 16:54:00
【问题描述】:
我需要手动修改我的.vcxproj,并且我正在尝试使用the documentation 了解 MSbuild 架构。
在我现有的.vcxproj 中,我有标签<PropertyGroup Label="Globals">,但在the documentation 中没有提到Label 属性。
这是针对现有 Visual Studio C++ 项目的,我启动它时没有错误。
Label 属性有什么作用?
【问题讨论】:
标签:
c++
visual-studio-2013
msbuild
【解决方案1】:
没有完整的文档记录; Target 元素文档提到了它,但它只是
可选属性。
可以识别或排序系统和用户元素的标识符。
快速浏览一下source code 也会发现它并没有被构建系统本身积极使用:它就在那里,你可以给它赋值并取回它们,就是这样。因此,它可以作为向 xml 添加描述的一种方式(而不是使用注释)。该描述也可以由构建系统以编程方式检索。这是我实际看到的工具的唯一用途,即 Visual Studio:正如您所想的那样,它会生成包含一些标签的项目文件。 VS 使用这些来确定在何处查找/插入由其用户界面生成的代码。一个很好的例子是 PropertySheets 标签:它只是一个 ImportGroup,您可以拥有任意数量的标签,但只有带有 PropertySheets 标签的 ImportGroup 才会被 VS 中的属性管理器显示和修改。对于 ProjectConfigurations ItemGroup、Globals PropertyGroup、配置项等也是如此。