Можно ли объединять группы элементов в новых файлах csproj VisualStudio 2017?

Например, у меня есть файл .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>
...

Я это сделал, из того, что я наблюдаю в данный момент, похоже, нет никаких проблем, но я не хочу, чтобы я или другие разработчики столкнулись с ними позже, не зная, что они могут быть связаны с этим действием.


person UяošKoт    schedule 11.12.2019    source источник


Ответы (1)


Слить их не проблема, это эквивалентно MSBuild API.

Однако некоторые инструменты могут искать группы элементов, содержащие только определенные элементы (например, NuGet хочет добавить в группы элементов, которые уже содержат ссылки на пакеты), но это означает, что в худшем случае средства могут добавлять дополнительные группы элементов.

person Martin Ullrich    schedule 14.12.2019