coverlet-coverage / coverlet

Cross platform code coverage for .NET
MIT License
2.93k stars 385 forks source link

[BUG] Coverlet.MSBuild 6.0.1/6.0.2 is not compatible with .NET Core 2.2 #1643

Open fbuser1 opened 3 months ago

fbuser1 commented 3 months ago

Describe the bug Coverlet.MSBuild 6.0.2 is not compatible with .NET Core 2.2, and it causes errors with another package, Newtonsoft.Json

/root/.nuget/packages/coverlet.msbuild/6.0.2/build/coverlet.msbuild.targets(72,5): error : Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621)

To Reproduce Just include coverlet.msbuild to any netcoreapp2.2 project

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netcoreapp2.2</TargetFramework>
        <IsPackable>false</IsPackable>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="AutoFixture" Version="4.8.0" />
        <PackageReference Include="coverlet.msbuild" Version="2.6.0">
       </ItemGroup>

Expected behavior Do not download incompatible package. The latest compatible net core 2.2 package version is 6.0.0.

Actual behavior /root/.nuget/packages/coverlet.msbuild/6.0.2/build/coverlet.msbuild.targets(72,5): error : Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621)

Configuration (please complete the following information): Please provide more information on your .NET configuration:

Bertk commented 2 months ago

Please provide additional information e.g. are you using coverlet in a test project.

By the way, this line is in code snipped is invalid <PackageReference Include="coverlet.msbuild" Version="2.6.0">

Note: netcoreapp2.2 is out of support. Currently supported .NET frameworks are net6.0, net7.0, net8.0. .NET Core 2.2 end of support date was December 23, 2019. Newtonsoft.Json package versions before V13.0.1 have a high severe vulnerability.

I did not install the unsupported .NET core 2.2 on my system but please try to use latest version of Newtonsoft.Json V13.0.3 package and add Microsoft.NET.Test.Sdk V17.3.3.