我一直致力于从头开始创建 msbuild *.vcxproj 文件,以便更好地了解 msbuild 的作用。在类似 this 的例子中对于 MSDN 上的示例,为什么有一个用于 ClCompile
任务的 ItemGroup 和一个用于 ClInclude
任务的单独 ItemGroup。您能否将它们全部集中到一个 ItemGroup 中?我还在链接的示例中看到多个 ItemDefinitionGroup。为什么有多个这样的?
最佳答案
这只是个人口味。您可以将逻辑上属于一起的事物分组到项目/属性组中。
分离的一个实际原因是,如果您需要应用Condition
属性 - 您可以在组上放置一个条件,而不是将相同的条件应用于多个项目/属性/*。
对于由工具生成的项目,某些工具可能会单独发出每个项目组,并且不会实现附加逻辑来合并无条件组。这只是此类工具的实现细节。
关于c++ - 为什么有多个 ItemGroup 和 ItemDefinitionGroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53514908/