c++ - 为什么有多个 ItemGroup 和 ItemDefinitionGroup?

标签 c++ msbuild

我一直致力于从头开始创建 msbuild *.vcxproj 文件,以便更好地了解 msbuild 的作用。在类似 this 的例子中对于 MSDN 上的示例,为什么有一个用于 ClCompile 任务的 ItemGroup 和一个用于 ClInclude 任务的单独 ItemGroup。您能否将它们全部集中到一个 ItemGroup 中?我还在链接的示例中看到多个 ItemDefinitionGroup。为什么有多个这样的?

最佳答案

这只是个人口味。您可以将逻辑上属于一起的事物分组到项目/属性组中。

分离的一个实际原因是,如果您需要应用Condition属性 - 您可以在组上放置一个条件,而不是将相同的条件应用于多个项目/属性/*。

对于由工具生成的项目,某些工具可能会单独发出每个项目组,并且不会实现附加逻辑来合并无条件组。这只是此类工具的实现细节。

关于c++ - 为什么有多个 ItemGroup 和 ItemDefinitionGroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53514908/

相关文章:

c++ - 在调试中,如何知道函数重复调用中参数的统计信息(最大-最小值、平均值、分布...)?

git - 将 MsBuild 与 Git 集成

msbuild - Visual Studio 2010 构建后事件完全被忽略

asp.net-core - 如何安装较新的 MSBuild 版本?

c++ - 使用静态库编译 C++

c++ - C/C++ FLAC 标记库

c++ - Libcurl - 使用真实名称下载和保存文件

c++ - 关于在 C++ 中为酷语言制作编译器的问题

msbuild - TopShelf MSDeploy 安装错误退出代码

msbuild - teamcity 表示找不到 MSTests 的测试 xxx