dotnet-project-file-analyzers

Proj0018: Order using directives by type

<Using> nodes should be ordered by type for consistency within a single <ItemGroup>. When ordering the imports based on other criteria, consider grouping them in seperate <ItemGroup>s.

Non-compliant

<Project Sdk="Microsoft.NET.Sdk">

  <ItemGroup>
    <Using Include="NamespaceA.Type" Alias="Foo" />
    <Using Include="NamespaceB" />
    <Using Include="NamespaceC.Type" Alias="Bar" />
  </ItemGroup>
  
</Project>

Compliant

<Project Sdk="Microsoft.NET.Sdk">

  <ItemGroup>
    <Using Include="NamespaceB" />
    <Using Include="NamespaceA.Type" Alias="Foo" />
    <Using Include="NamespaceC.Type" Alias="Bar" />
  </ItemGroup>
  s
</Project>