我一直在努力从头开始创建我的msbuild * .vcxproj文件,以更好地了解msbuild的作用。在像this这样的示例中,对于MSDN上的示例,为什么要为ClCompile任务提供一个ItemGroup,为ClInclude任务提供一个单独的ItemGroup。您可以将它们全部合并到一个ItemGroup中吗?在链接的示例中,我还看到了多个ItemDefinitionGroups。为什么会有多个?

最佳答案

这只是个人喜好。您可以将逻辑上属于一起的事物分组为项目/属性组。

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

对于通过工具生成的项目,某些工具可能会分别发出每个项目组,并且不实施其他逻辑来合并无条件组。这只是这种工具的实现细节。

07-24 13:53