可以合并新的 VisualStudio 2017 csproj 文件中的 ItemGroups 吗?

Can ItemGroups in new VisualStudio 2017 csproj files be merged?

例如,我有一个具有以下结构的 .csproj 文件:

...
  <ItemGroup>
    <Compile Include="...">
      <Link>...</Link>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="..." Version="..." />
  </ItemGroup>

  ... there may even be some other tags in between ItemGroups ...

  <ItemGroup>
    <ProjectReference Include="..." />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="...">
      <HintPath>...</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <None Update="...">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
  ... There may be even more additional ItemGroups with other content ...
...

我可以把它们合并成一个吗,像这样?

...
  <ItemGroup>
    <PackageReference Include="..." Version="..." />
    <ProjectReference Include="..." />
    <Compile Include="...">
      <Link>...</Link>
    </Compile>
    <Reference Include="...">
      <HintPath>...</HintPath>
    </Reference>
    <None Update="...">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
...

我已经做到了,从我目前的观察来看似乎没有问题,但我不希望我或其他开发人员稍后 运行 进入他们,不知道他们可能是链接到此操作。

合并它们没问题,等同于MSBuild API.

但是,某些工具可能会查找仅包含特定内容的项组(例如,NuGet 想要添加到已包含包引用的项组),但这意味着在最坏的情况下,工具可能会添加其他项组。