为什么Visual Studio在项目文件中留下空的ItemGroup节点?

时间:2015-03-11 22:35:35

标签: visual-studio visual-studio-2013 csproj

  • 打开Visual Studio并创建任何类型的新C#项目。
  • 将新文件夹添加到项目中并保存项目。
  • 检查项目文件(.csproj)并注意它创建了一个这样的节点:

    <ItemGroup>
      <Folder Include="NewFolder1\" />
    </ItemGroup>
    
  • 现在删除Visual Studio中的文件夹并保存项目。

  • 请注意,在项目文件中,有一个空节点,如下所示:

    <ItemGroup/>
    

删除空节点似乎没有任何区别,那么为什么VS会将其留下呢?

我为什么在意?因为这样的提交令人困惑:

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,空ItemGroup是良性的,就像空PropertyGroup一样。最糟糕的是项目文件中的噪音。

从历史上看,该项目文件并不是真正供人类使用的,只是在VS进行转换的过程中进行了临时性的工作以保持其整洁。

对于新的SDK样式的项目文件,其意图是100%使其具有可读性和可编辑性。如果您在使用新项目样式时在VS中看到空的组,那绝对是团队想要了解的。在这种情况下,请report a problem并在正文中说明这是针对项目系统团队的。