为什么 Visual Studio 在项目文件中留下一个空的 ItemGroup 节点?
Why does Visual Studio leave an empty ItemGroup node in the project file?
- 打开 Visual Studio 并新建一个任意类型的 C# 项目。
- 向项目添加一个新文件夹并保存项目。
检查项目文件 (.csproj) 并注意它创建了一个如下所示的节点:
<ItemGroup>
<Folder Include="NewFolder1\" />
</ItemGroup>
现在删除 Visual Studio 中的文件夹并保存项目。
注意在项目文件中,有一个空节点,像这样:
<ItemGroup/>
删除空节点似乎没有任何区别,那么为什么VS会留下这个?
我为什么要关心?因为这样的提交令人困惑:
首先,空的 ItemGroup
是良性的,就像空的 PropertyGroup
一样。最坏的情况是你的项目文件中有噪音。
从历史上看,项目文件并不是真正供人使用的,只有 ad-hoc 在 VS 进行转换期间努力保持它的整洁。
使用新的 SDK-style 项目文件,目的是 100% 使它们可供人类阅读和编辑。如果您在使用新项目样式时在 VS 中看到空组,这绝对是团队想知道的事情。在这种情况下,请report a problem并在正文中说明这是针对项目系统团队的。
- 打开 Visual Studio 并新建一个任意类型的 C# 项目。
- 向项目添加一个新文件夹并保存项目。
检查项目文件 (.csproj) 并注意它创建了一个如下所示的节点:
<ItemGroup> <Folder Include="NewFolder1\" /> </ItemGroup>
现在删除 Visual Studio 中的文件夹并保存项目。
注意在项目文件中,有一个空节点,像这样:
<ItemGroup/>
删除空节点似乎没有任何区别,那么为什么VS会留下这个?
我为什么要关心?因为这样的提交令人困惑:
首先,空的 ItemGroup
是良性的,就像空的 PropertyGroup
一样。最坏的情况是你的项目文件中有噪音。
从历史上看,项目文件并不是真正供人使用的,只有 ad-hoc 在 VS 进行转换期间努力保持它的整洁。
使用新的 SDK-style 项目文件,目的是 100% 使它们可供人类阅读和编辑。如果您在使用新项目样式时在 VS 中看到空组,这绝对是团队想知道的事情。在这种情况下,请report a problem并在正文中说明这是针对项目系统团队的。