visual-studio - 为什么 Visual Studio 会在项目文件中留下一个空的 ItemGroup 节点?

标签 visual-studio visual-studio-2013 csproj

  • 打开 Visual Studio 并创建任何类型的新 C# 项目。
  • 向项目添加一个新文件夹并保存项目。
  • 检查项目文件 (.csproj) 并注意它创建了一个像这样的节点:
    <ItemGroup>
      <Folder Include="NewFolder1\" />
    </ItemGroup>
    
  • 现在删除 Visual Studio 中的文件夹并保存项目。
  • 注意在工程文件中,有一个空节点,像这样:
    <ItemGroup/>
    

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

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

    enter image description here

    最佳答案

    首先,一个空的 ItemGroup是良性的,就像一个空的PropertyGroup是。最坏的情况是项目文件中的噪音。

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

    使用新的 SDK 样式的项目文件,目的是 100% 使它们成为人类可读和可编辑的。如果你在使用新的项目风格时在 VS 中看到空的组,这绝对是团队想知道的。在这种情况下,请report a problem并在正文中说明它是针对项目系统团队的。

    关于visual-studio - 为什么 Visual Studio 会在项目文件中留下一个空的 ItemGroup 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998688/

    相关文章:

    c++ - cppunittest.h没有这样的文件或目录

    c++ - Visual Studio : Syntax highlighting for Doxygen-style C++ comments

    c# - 使用 Zxing 库、Xamarin.android 应用程序扫描时,将屏幕方向锁定为纵向。

    visual-studio - 保存解决方案构建顺序的位置

    visual-studio - 如何全局设置 Visual Studio 项目的起始 URL?

    msbuild - 使用 MSBuild 将文件包含在 .csproj 中

    c++ - std::array - 'buffer of size n will be overrun' ,仅在 VS 中

    c# - 无法将 TFS 项目映射到 Visual Studio 2013 中的网络驱动器

    visual-studio - 无法膨胀包文件 Visual Studio 错误

    .net-assembly - 如何将 DNU WRAP 用于不在 ASP.Net 项目解决方案中的项目