Skip to content

Commit 51e915b

Browse files
committed
use .NET 8.0 target framework for coverlet.core and remove Newtonsoft.Json
- Updated project files to target .NET 8.0 instead of .NET 6.0 across various projects. - Replaced Newtonsoft.Json with System.Text.Json in Coverage.cs and related files for improved performance and reduced dependencies. - Enhanced JSON serialization in tests and reporters to utilize System.Text.Json. - Updated integration tests to reflect changes in target frameworks and SDK versions. - Adjusted test projects to ensure compatibility with the new SDK version and updated dependencies. - Modified coverlet.collector.targets to support .NET SDK version 8.0.100.
1 parent 445f765 commit 51e915b

File tree

46 files changed

+401
-383
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+401
-383
lines changed

.config/dotnet-tools.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
"isRoot": true,
44
"tools": {
55
"dotnet-reportgenerator-globaltool": {
6-
"version": "5.4.3",
6+
"version": "5.4.7",
77
"commands": [
88
"reportgenerator"
99
],
1010
"rollForward": false
1111
}
1212
}
13-
}
13+
}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,4 +319,5 @@ FolderProfile.pubxml
319319
nuget.config
320320
*.dmp
321321
Playground*/
322+
# extended playground
322323
coverlet.MTP/

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Contributions are highly welcome, however, except for very small changes, kindly
44

55
## Requirements
66

7-
[.NET SDK 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
8-
[.NET SDK 7.0](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
9-
[.NET SDK 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
7+
STS version [.NET SDK 9.0](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) for development environment
8+
9+
LTS version [.NET SDK 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) for runtime environment
1010

1111
## Building the Project
1212

Directory.Build.props

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -48,35 +48,4 @@
4848
<VSTestLogger>@(VSTestLogger)</VSTestLogger>
4949
</PropertyGroup>
5050

51-
<PropertyGroup>
52-
<!--
53-
Do not change versions since we need to support VSTest DataCollectors. We need to load assembly version 1.6.0 to properly work
54-
We can check minimum supported package version here https://github.com/Microsoft/vstest/blob/master/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj#L34
55-
-->
56-
<!-- VSTest dependency versions -->
57-
<!-- https://github.com/microsoft/vstest/blob/fde8bf79d3f0f80e3548f873a56ffb4100c0ae49/eng/Versions.props#L22C1-L54C2 -->
58-
<MicrosoftBuildUtilitiesCorePackageVersion>15.9.20</MicrosoftBuildUtilitiesCorePackageVersion>
59-
<SystemReflectionMetadataVersion>1.6.0</SystemReflectionMetadataVersion>
60-
<SystemCollectionsImmutableVersion>1.5.0</SystemCollectionsImmutableVersion>
61-
62-
<!-- some additional information about dependency management limitations for MSBuild tasks (coverlet.msbuild.tasks)
63-
- msBuild task with dependencies https://natemcmaster.com/blog/2017/11/11/msbuild-task-with-dependencies/
64-
- Aligning versions with MSBuild
65-
- If you need a dependency that is also used in MSBuild itself, you have to align with the version MSBuild uses.
66-
- This includes System.Reflection.Metadata, System.Collections.Immutable, NuGet, Newtonsoft.Json, and others.
67-
- See example: dependencies.props (https://github.com/aspnet/BuildTools/blob/1f3f14382764e06b7e691e5ee89d12a280249284/build/dependencies.props#L19-L29)"
68-
69-
.NET 8.0.3xx (MSBuild) core-sdk-tasks version details https://github.com/dotnet/installer/blob/release/8.0.3xx/src/core-sdk-tasks/core-sdk-tasks.csproj
70-
71-
ALIGN PACKAGE VERSIONS of coverlet.core with coverlet.collector (vstest) and coverlet.msbuild.tasks (.NET SDK MSBuild)
72-
73-
e.g. candidates for version conflicts:
74-
<MicrosoftBuildTaskVersion>15.7.179</MicrosoftBuildTaskVersion>
75-
<MicrosoftBuildTaskUtilitiesCoreVersion>15.7.179</MicrosoftBuildTaskUtilitiesCoreVersion>
76-
<NuGetBuildTasksPackageVersion>6.9.0-rc.86</NuGetBuildTasksPackageVersion>
77-
<MicrosoftBuildTaskSystemReflectionMetaData>1.4.2</MicrosoftBuildTaskSystemReflectionMetaData>
78-
<MicrosoftBuildTaskSystemCollectionImmutable>1.5.0</MicrosoftBuildTaskSystemCollectionImmutable> >= 1.3.1
79-
-->
80-
</PropertyGroup>
81-
8251
</Project>

Directory.Packages.props

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
<PropertyGroup>
1111
<MicrosoftBuildVersion>17.11.31</MicrosoftBuildVersion> <!-- .NET 8.0 support -->
1212
<MicrosoftCodeAnalysisVersion>4.12.0</MicrosoftCodeAnalysisVersion>
13+
<NugetPackageVersion>6.14.0</NugetPackageVersion>
1314
<!-- Test Platform, .NET Test SDK and Object Model -->
1415
<MicrosoftNETTestSdkVersion>17.14.1</MicrosoftNETTestSdkVersion>
15-
<NugetPackageVersion>6.14.0</NugetPackageVersion>
16-
<XunitV3Version>2.0.0</XunitV3Version>
17-
<XunitRunnerVisualstudioVersion>3.0.2</XunitRunnerVisualstudioVersion>
16+
<XunitV3Version>3.0.0</XunitV3Version>
17+
<XunitRunnerVisualstudioVersion>3.1.3</XunitRunnerVisualstudioVersion>
1818
</PropertyGroup>
1919
<ItemGroup>
2020
<PackageVersion Include="DotNetConfig" Version="1.2.0" />
@@ -39,7 +39,6 @@
3939
vstest 17.8 version
4040
NuGetFrameworksVersion is defined here https://github.com/microsoft/vstest/blob/9a0c41811637edf4afe0e265e08fdd1cb18109ed/eng/Versions.props#L94C1-L94C1
4141
-->
42-
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
4342
<PackageVersion Include="NuGet.Frameworks" Version="$(NugetPackageVersion)" />
4443
<PackageVersion Include="NuGet.Packaging" Version="$(NugetPackageVersion)" />
4544
<PackageVersion Include="NuGet.Versioning" Version="$(NugetPackageVersion)" />
@@ -57,14 +56,18 @@
5756
<PackageVersion Include="System.Buffers" Version="4.6.1" />
5857
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
5958
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
59+
<PackageVersion Include="System.Diagnostics.EventLog" Version="8.0.2" />
60+
<PackageVersion Include="System.Formats.Asn1" Version="8.0.2" />
61+
<PackageVersion Include="System.IO.Pipelines" Version="8.0.0" />
6062
<PackageVersion Include="System.Linq.Async" Version="6.0.3" />
6163
<PackageVersion Include="System.Memory" Version="4.6.3" />
6264
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
6365
<PackageVersion Include="System.Reflection.Metadata" Version="8.0.1" />
6466
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
67+
<PackageVersion Include="System.Security.AccessControl" Version="6.0.1" />
6568
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="8.0.1" />
6669
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" />
67-
<PackageVersion Include="System.Text.Json" Version="8.0.6" /> <!-- used by tests -->
70+
<PackageVersion Include="System.Text.Json" Version="8.0.6" />
6871
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
6972
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" />
7073
</ItemGroup>

Documentation/Changelog.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Changelog
2+
23
All notable changes to this project will be documented in this file.
34

45
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
@@ -7,12 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
78
## Unreleased
89

910
### Fixed
11+
1012
- Fix branchpoint exclusion for sdk 8.0.407 [#1741](https://github.com/coverlet-coverage/coverlet/issues/1741)
1113
- Use `<TargetFramework>netstandard2.0</TargetFramework>` for _coverlet.collector_ and _coverlet.msbuild.tasks_ Packages´
1214

1315
### Improvements
14-
- Use [xunit.v3](https://xunit.net/docs/getting-started/v3/whats-new) for tests and example code
1516

17+
- Upgraded minimum required .NET SDK and runtime to .NET 8.0 LTS (Long Term Support) (**Breaking Change**)
18+
- Use [xunit.v3](https://xunit.net/docs/getting-started/v3/whats-new) for tests and example code
1619

1720
## Release date 2024-01-20
1821
### Packages
Lines changed: 26 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,34 @@
1-
To run test we need to generates packages to reference in on test project.
2-
Run from repo root
1+
# Using Deterministic Builds with Coverlet MSBuild Integration
2+
3+
## Prerequisites
4+
5+
Before running tests with deterministic builds, you need to generate the local NuGet packages:
36

47
```shell
5-
C:\git\coverlet
6-
λ dotnet pack
7-
Microsoft (R) Build Engine version 17.7.4+3ebbd7c49 for .NET Core
8-
Copyright (C) Microsoft Corporation. All rights reserved.
9-
10-
Restore completed in 73,36 ms for C:\git\coverlet\src\coverlet.core\coverlet.core.csproj.
11-
Restore completed in 73,41 ms for C:\git\coverlet\test\coverlet.testsubject\coverlet.testsubject.csproj.
12-
Restore completed in 73,33 ms for C:\git\coverlet\test\coverlet.tests.projectsample.excludedbyattribute\coverlet.tests.projectsample.excludedbyattribute.csproj.
13-
Restore completed in 73,34 ms for C:\git\coverlet\src\coverlet.collector\coverlet.collector.csproj.
14-
Restore completed in 73,35 ms for C:\git\coverlet\test\coverlet.tests.xunit.extensions\coverlet.tests.xunit.extensions.csproj.
15-
Restore completed in 75,92 ms for C:\git\coverlet\test\coverlet.integration.tests\coverlet.integration.tests.csproj.
16-
Restore completed in 73,41 ms for C:\git\coverlet\src\coverlet.console\coverlet.console.csproj.
17-
Restore completed in 73,36 ms for C:\git\coverlet\test\coverlet.tests.projectsample.empty\coverlet.tests.projectsample.empty.csproj.
18-
Restore completed in 73,47 ms for C:\git\coverlet\src\coverlet.msbuild.tasks\coverlet.msbuild.tasks.csproj.
19-
Restore completed in 73,37 ms for C:\git\coverlet\test\coverlet.core.tests.samples.netstandard\coverlet.core.tests.samples.netstandard.csproj.
20-
Restore completed in 76,37 ms for C:\git\coverlet\test\coverlet.collector.tests\coverlet.collector.tests.csproj.
21-
Restore completed in 77,05 ms for C:\git\coverlet\test\coverlet.integration.template\coverlet.integration.template.csproj.
22-
Restore completed in 77,2 ms for C:\git\coverlet\test\coverlet.core.performancetest\coverlet.core.performancetest.csproj.
23-
Restore completed in 87,7 ms for C:\git\coverlet\test\coverlet.core.tests\coverlet.core.tests.csproj.
24-
coverlet.core -> C:\git\coverlet\src\coverlet.core\bin\Debug\netstandard2.0\coverlet.core.dll
25-
coverlet.collector -> C:\git\coverlet\src\coverlet.collector\bin\Debug\netcoreapp2.0\coverlet.collector.dll
26-
coverlet.msbuild.tasks -> C:\git\coverlet\src\coverlet.msbuild.tasks\bin\Debug\netstandard2.0\coverlet.msbuild.tasks.dll
27-
coverlet.console -> C:\git\coverlet\src\coverlet.console\bin\Debug\net6.0\coverlet.console.dll
28-
Successfully created package 'C:\git\coverlet\bin\Debug\Packages\coverlet.collector.6.0.1-preview.6.g918cd179e0.nupkg'.
29-
Successfully created package 'C:\git\coverlet\bin\Debug\Packages\coverlet.collector.6.0.1-preview.6.g918cd179e0.snupkg'.
30-
Successfully created package 'C:\git\coverlet\bin\Debug\Packages\coverlet.msbuild.6.0.1-preview.6.g918cd179e0.nupkg'.
31-
Successfully created package 'C:\git\coverlet\bin\Debug\Packages\coverlet.msbuild.6.0.1-preview.6.g918cd179e0.snupkg'.
32-
Successfully created package 'C:\git\coverlet\bin\Debug\Packages\coverlet.console.6.0.1-preview.6.g918cd179e0.nupkg'.
33-
Successfully created package 'C:\git\coverlet\bin\Debug\Packages\coverlet.console.6.0.1-preview.6.g918cd179e0.snupkg'.
8+
# Run from repository root
9+
dotnet pack
3410
```
3511

36-
Add msbuild package version generated to `"..\Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\XUnitTestProject1.csproj"`
12+
## Project Setup
13+
14+
Update your test project file `XUnitTestProject1.csproj`:
3715

3816
```xml
3917
<Project Sdk="Microsoft.NET.Sdk">
40-
4118
<PropertyGroup>
42-
<TargetFramework>net6.0</TargetFramework>
19+
<TargetFramework>net8.0</TargetFramework>
4320
<IsPackable>false</IsPackable>
4421
</PropertyGroup>
4522

4623
<ItemGroup>
4724
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
48-
<PackageReference Include="xunit.v3" Version="1.1.0" />
49-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
25+
<PackageReference Include="xunit.v3" Version="2.0.0" />
26+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
5027
<PrivateAssets>all</PrivateAssets>
5128
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
5229
</PackageReference>
53-
<!-- version comes from coverlet.msbuild.6.0.1-preview.8.gcb9b802a5f.nupkg -->
54-
<PackageReference Include="coverlet.msbuild" Version="coverlet.msbuild.6.0.1-preview.8.gcb9b802a5f.nupkg" >
30+
<!-- Use the version from your locally built package -->
31+
<PackageReference Include="coverlet.msbuild" Version="8.0.1-preview.8.gcb9b802a5f">
5532
<PrivateAssets>all</PrivateAssets>
5633
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
5734
</PackageReference>
@@ -60,50 +37,25 @@ Add msbuild package version generated to `"..\Documentation\Examples\MSBuild\Det
6037
<ItemGroup>
6138
<ProjectReference Include="..\ClassLibrary1\ClassLibrary1.csproj" />
6239
</ItemGroup>
63-
6440
</Project>
6541
```
6642

67-
Go to test project folder and run
43+
## Running Tests
44+
45+
Navigate to your test project directory and run:
6846

6947
```shell
70-
C:\git\coverlet\Documentation\Examples\MSBuild\DeterministicBuild (detbuilddocs -> origin)
71-
λ dotnet test /p:CollectCoverage=true /p:DeterministicSourcePaths=true
72-
Test run for C:\git\coverlet\Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\net6.0\XUnitTestProject1.dll(.NETCoreApp,Version=v6.0)
73-
Microsoft (R) Test Execution Command Line Tool Version 17.5.0
74-
Copyright (c) Microsoft Corporation. All rights reserved.
75-
76-
Starting test execution, please wait...
77-
78-
A total of 1 test files matched the specified pattern.
79-
80-
Test Run Successful.
81-
Total tests: 1
82-
Passed: 1
83-
Total time: 1,1471 Seconds
84-
85-
Calculating coverage result...
86-
Generating report 'C:\git\coverlet\Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\coverage.json'
87-
88-
+---------------+------+--------+--------+
89-
| Module | Line | Branch | Method |
90-
+---------------+------+--------+--------+
91-
| ClassLibrary1 | 100% | 100% | 100% |
92-
+---------------+------+--------+--------+
93-
94-
+---------+------+--------+--------+
95-
| | Line | Branch | Method |
96-
+---------+------+--------+--------+
97-
| Total | 100% | 100% | 100% |
98-
+---------+------+--------+--------+
99-
| Average | 100% | 100% | 100% |
100-
+---------+------+--------+--------+
48+
dotnet test /p:CollectCoverage=true /p:DeterministicSourcePaths=true
10149
```
10250

103-
You should see on output folder the coverlet source root mapping file generated. The filename starts with 'CoverletSourceRootsMapping_'. Do not use `--no-build` option
104-
This is the confirmation that you're running coverage on deterministic build e.g. `Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\net6.0\CoverletSourceRootsMapping_XUnitTestProject1`
51+
> **Important**: Do not use the `--no-build` option as it will prevent the generation of deterministic build artifacts.
10552
53+
## Verification
54+
55+
After running the tests, verify the deterministic build by checking for the source root mapping file:
10656

10757
```text
108-
Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\net6.0\CoverletSourceRootsMapping_XUnitTestProject1
58+
bin\Debug\net8.0\CoverletSourceRootsMapping_XUnitTestProject1
10959
```
60+
61+
The presence of this file confirms that your coverage report was generated with deterministic build settings.

Documentation/Examples/MSBuild/DeterministicBuild/XUnitTestProject1/XUnitTestProject1.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net8.0</TargetFramework>
55
<IsPackable>false</IsPackable>
66
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
77
</PropertyGroup>
88

99
<ItemGroup>
1010
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
11-
<PackageReference Include="xunit.v3" Version="1.1.0" />
12-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
11+
<PackageReference Include="xunit.v3" Version="2.0.0" />
12+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
1515
</PackageReference>
Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,57 @@
1-
**Run from solution root sln**
1+
# Merging Coverage Reports
22

3-
To merge report together you need to run separate test and merge in one `json` format file.
4-
Last command will join and create final needed format file.
3+
## Running Tests Separately
54

6-
```shell
7-
dotnet test XUnitTestProject1\XUnitTestProject1.csproj /p:CollectCoverage=true /p:CoverletOutput=../CoverageResults/
8-
dotnet test XUnitTestProject2\XUnitTestProject2.csproj /p:CollectCoverage=true /p:CoverletOutput=../CoverageResults/ /p:MergeWith="../CoverageResults/coverage.json"
9-
dotnet test XUnitTestProject3\XUnitTestProject3.csproj /p:CollectCoverage=true /p:CoverletOutput=../CoverageResults/ /p:MergeWith="../CoverageResults/coverage.json" /p:CoverletOutputFormat="opencover"
5+
To merge coverage reports, run tests for each project and combine them into a single file:
6+
7+
```bash
8+
# Generate coverage for first project
9+
dotnet test XUnitTestProject1/XUnitTestProject1.csproj \
10+
/p:CollectCoverage=true \
11+
/p:CoverletOutput=../CoverageResults/
12+
13+
# Merge coverage from second project
14+
dotnet test XUnitTestProject2/XUnitTestProject2.csproj \
15+
/p:CollectCoverage=true \
16+
/p:CoverletOutput=../CoverageResults/ \
17+
/p:MergeWith="../CoverageResults/coverage.json"
18+
19+
# Merge coverage from third project and generate final OpenCover report
20+
dotnet test XUnitTestProject3/XUnitTestProject3.csproj \
21+
/p:CollectCoverage=true \
22+
/p:CoverletOutput=../CoverageResults/ \
23+
/p:MergeWith="../CoverageResults/coverage.json" \
24+
/p:CoverletOutputFormat="opencover"
1025
```
1126

12-
You can merge also running `dotnet test` and merge with single command from a solution file, but you need to ensure that tests will run sequentially(`-m:1`). This slow down testing but avoid invalid coverage result.
27+
## Running Tests from Solution
1328

14-
```shell
15-
dotnet test /p:CollectCoverage=true /p:CoverletOutput=../CoverageResults/ /p:MergeWith="../CoverageResults/coverage.json" /p:CoverletOutputFormat=\"opencover,json\" -m:1
29+
To merge coverage using a single command (requires sequential execution):
30+
31+
```bash
32+
dotnet test \
33+
/p:CollectCoverage=true \
34+
/p:CoverletOutput=../CoverageResults/ \
35+
/p:MergeWith="../CoverageResults/coverage.json" \
36+
/p:CoverletOutputFormat="opencover,json" \
37+
-m:1
1638
```
1739

18-
N.B. You need to specify `json` format plus another format(the final one), because Coverlet can only merge proprietary format. At the end you can delete temporary `coverage.json` file.
40+
> **Note**: Sequential execution (`-m:1`) ensures accurate coverage but increases test duration.
41+
42+
## Important Considerations
43+
44+
- Include `json` format alongside your desired output format
45+
- Coverlet only merges its proprietary JSON format
46+
- The temporary `coverage.json` file can be deleted after merging
1947

20-
You can also merge the coverage result and generate another valid format to export the content than opencover, like cobertura.
48+
## Example with Cobertura Output
2149

22-
```shell
23-
dotnet test /p:CollectCoverage=true /p:CoverletOutput=../CoverageResults/ /p:MergeWith="../CoverageResults/coverage.json" /p:CoverletOutputFormat=\"cobertura,json\" -m:1
50+
```bash
51+
dotnet test \
52+
/p:CollectCoverage=true \
53+
/p:CoverletOutput=../CoverageResults/ \
54+
/p:MergeWith="../CoverageResults/coverage.json" \
55+
/p:CoverletOutputFormat="cobertura,json" \
56+
-m:1
2457
```

Documentation/Examples/MSBuild/MergeWith/XUnitTestProject1/XUnitTestProject1.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net8.0</TargetFramework>
55
<IsPackable>false</IsPackable>
66
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="coverlet.msbuild" Version="6.0.0">
10+
<PackageReference Include="coverlet.msbuild" Version="8.0.0">
1111
<PrivateAssets>all</PrivateAssets>
1212
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1313
</PackageReference>

0 commit comments

Comments
 (0)