Proj1102: Use Coverlet Collector or MSBuild

Coverlet is a cross-platform code coverage framework for .NET, with support for line, branch and method coverage. The packages coverlet.collector and coverlet.msbuild have the same purpose but should not be used together. Note that coverlet.collector is preferred over the coverlet.msbuild.

Non-compliant

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="coverlet.collector" PrivateAssets="all" />
	<PackageReference Include="coverlet.msbuild" PrivateAssets="all" />
  </ItemGroup>

</Project>

Compliant

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="coverlet.collector" PrivateAssets="all" />
  </ItemGroup>

</Project>

or

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="coverlet.msbuild" PrivateAssets="all" />
  </ItemGroup>

</Project>