可以编译项目标签出现在MSBuild项目文件中的多个ItemGroup标签中吗?

时间:2014-11-28 21:03:48

标签: msbuild

我正在研究如何动态修改.csproj文件。

感兴趣的项目是普通的.cs文件,没有依赖项或特殊构建要求。我查看了EnvDTE,但只是修改.csproj文件中的XML看起来非常简单。

我看到Compile项目出现在< ItemGoup>标签

通过查看我自己的项目,我观察到的并非所有< Compile>标签分组在相同的< ItemGroup>中标签。似乎没有关于为什么某些项目在一个组中而某些项目在另一个组中的模式。

要清楚,我不是在谈论在不同的ItemGroup中使用相同的文件,我说的是在一个ItemGroup中使用x1.cs而在另一个ItemGroup中使用x2.cs。

为什么有些Compile标签出现在一个ItemGroup中而其他标签出现在另一个ItemGroup中,或者它是随机的?

如果没有模式,我可以简单地将新的编译项添加到新的ItemGroup中。

感谢,

约翰

1 个答案:

答案 0 :(得分:2)

Visual Studio不会将任何特定模式应用于组项目。

计数中唯一的特殊情况是ItemGroup声明条件。

如果您正在编写代码生成器,则可以根据需要对项目进行分组(即条件构建或简单的可读性)。

link会让您对此有所了解。