diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 68990179..c65e70f8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,7 +7,7 @@ env:
buildPlatform: Any CPU
buildConfiguration: Release
version: 5.3.11
- dotnetSDKVersion: 8.0.403
+ dotnetSDKVersion: 9.0.100
nodeVersion: 20
jobs:
@@ -50,30 +50,22 @@ jobs:
- name: 'Compile Solution'
run: msbuild '${{ env.solution }}' /p:configuration='${{ env.buildConfiguration }}' /p:platform='${{ env.buildPlatform }}'
- - name: dotnet publish Console.NetCore 6.0
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f net6.0 ReportGenerator.Console.NetCore.csproj
- working-directory: src/ReportGenerator.Console.NetCore
-
- - name: dotnet publish Console.NetCore 7.0
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.Console.NetCore.csproj
- working-directory: src/ReportGenerator.Console.NetCore
-
- name: dotnet publish Console.NetCore 8.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore
- - name: dotnet publish DotnetGlobalTool 6.0
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f net6.0 ReportGenerator.DotnetGlobalTool.csproj
- working-directory: src/ReportGenerator.DotnetGlobalTool
-
- - name: dotnet publish DotnetGlobalTool 7.0
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.DotnetGlobalTool.csproj
- working-directory: src/ReportGenerator.DotnetGlobalTool
+ - name: dotnet publish Console.NetCore 9.0
+ run: dotnet publish -c ${{ env.BuildConfiguration }} -f net9.0 ReportGenerator.Console.NetCore.csproj
+ working-directory: src/ReportGenerator.Console.NetCore
- name: dotnet publish DotnetGlobalTool 8.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.DotnetGlobalTool.csproj
working-directory: src/ReportGenerator.DotnetGlobalTool
+ - name: dotnet publish DotnetGlobalTool 9.0
+ run: dotnet publish -c ${{ env.BuildConfiguration }} -f net9.0 ReportGenerator.DotnetGlobalTool.csproj
+ working-directory: src/ReportGenerator.DotnetGlobalTool
+
- name: Test
run: dotnet test src\ReportGenerator.Core.Test\ReportGenerator.Core.Test.csproj --configuration ${{ env.BuildConfiguration }} --no-build /p:CollectCoverage=true /p:DeterministicSourcePaths=true /p:IncludeTestAssembly=true /p:CoverletOutputFormat=opencover%2ccobertura /p:CoverletOutput=../target/reports/coverage/
@@ -98,8 +90,8 @@ jobs:
- name: 'Prepare VSIX release: NetCore'
run: |
- mkdir src/AzureDevopsTask/ReportGenerator/tools/net6.0
- xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish' 'src\AzureDevopsTask\ReportGenerator\tools\net6.0' /s
+ mkdir src/AzureDevopsTask/ReportGenerator/tools/net8.0
+ xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish' 'src\AzureDevopsTask\ReportGenerator\tools\net8.0' /s
- name: 'Prepare VSIX release: Install TFS Cross Platform Command Line Interface (tfx-cli)'
run: npm install -g tfx-cli
@@ -120,9 +112,8 @@ jobs:
run: |
mkdir tmpzip
mkdir tmpzip\net47
- mkdir tmpzip\net6.0
- mkdir tmpzip\net7.0
mkdir tmpzip\net8.0
+ mkdir tmpzip\net9.0
- name: 'Prepare ZIP release'
run: |
@@ -132,9 +123,8 @@ jobs:
xcopy "src\ReportGenerator.Console\bin\Release\*.dll" "tmpzip\net47"
xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe" "tmpzip\net47"
xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe.config" "tmpzip\net47"
- xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish\*' 'tmpzip\net6.0' /s
- xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net7.0\publish\*' 'tmpzip\net7.0' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish\*' 'tmpzip\net8.0' /s
+ xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net9.0\publish\*' 'tmpzip\net9.0' /s
- name: 'Pack ZIP release'
run: Compress-Archive -Path tmpzip/* -DestinationPath src/target/packages/ReportGenerator_${{ env.Version }}.zip
diff --git a/README.md b/README.md
index d6dd6335..2dfc5f97 100644
--- a/README.md
+++ b/README.md
@@ -43,11 +43,11 @@ Use the online [configuration tool](https://reportgenerator.io/usage) to get sta
|**Package**|**Platforms**|**Installation/Usage**|
|:----------|:------------|:---------------------|
-|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)
[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=6.0
.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.
**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```
```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```|
-|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)
[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=6.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.
**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```
```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```
```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```
**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```|
+|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)
[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=8.0
.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.
**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```
```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```|
+|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)
[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=8.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.
**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```
```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```
```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```
**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```|
|[ReportGenerator.Core](https://www.nuget.org/packages/ReportGenerator.Core)
[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.Core.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.Core.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator.Core)|.NET Standard 2.0|Use this package if you want to write a custom **plugin** for *ReportGenerator* or if you want to call/execute *ReportGenerator* within your code base.
**Plugin development**
[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)
[Custom history storage](https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage)|
-|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)
[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=6.0| Add the Azure DevOps extension to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|
-|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=6.0| Add the GitHub Action to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|
+|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)
[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=8.0| Add the Azure DevOps extension to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|
+|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=8.0| Add the GitHub Action to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|
### Usage / Command line parameters
Use the online [configuration tool](https://reportgenerator.io/usage) to get started quickly.
diff --git a/global.json b/global.json
index 7227be09..b3c9d993 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "8.0.403",
+ "version": "9.0.100",
"rollForward": "latestMajor"
}
}
\ No newline at end of file
diff --git a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
index 1aaf4b05..b7f490f4 100644
--- a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
+++ b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
@@ -3,7 +3,7 @@ import tl = require('azure-pipelines-task-lib/task');
async function executeReportGenerator(): Promise {
var tool = tl.tool('dotnet')
- .arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll'))
+ .arg(path.join(__dirname, 'tools/net8.0/ReportGenerator.dll'))
.arg('-reports:' + (tl.getInput('reports') || ''))
.arg('-targetdir:' + (tl.getInput('targetdir') || ''))
.arg('-reporttypes:' + (tl.getInput('reporttypes') || ''))
diff --git a/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts
index 1aaf4b05..b7f490f4 100644
--- a/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts
+++ b/src/AzureDevopsTaskTest/ReportGenerator/reportgenerator.ts
@@ -3,7 +3,7 @@ import tl = require('azure-pipelines-task-lib/task');
async function executeReportGenerator(): Promise {
var tool = tl.tool('dotnet')
- .arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll'))
+ .arg(path.join(__dirname, 'tools/net8.0/ReportGenerator.dll'))
.arg('-reports:' + (tl.getInput('reports') || ''))
.arg('-targetdir:' + (tl.getInput('targetdir') || ''))
.arg('-reporttypes:' + (tl.getInput('reporttypes') || ''))
diff --git a/src/Deployment/chocolatey/reportgenerator.portable.nuspec b/src/Deployment/chocolatey/reportgenerator.portable.nuspec
index f45af775..0f12846c 100644
--- a/src/Deployment/chocolatey/reportgenerator.portable.nuspec
+++ b/src/Deployment/chocolatey/reportgenerator.portable.nuspec
@@ -24,15 +24,12 @@
-
-
-
-
-
-
+
+
+
diff --git a/src/Deployment/nuget/ReportGenerator.Core.nuspec b/src/Deployment/nuget/ReportGenerator.Core.nuspec
index 03955f73..22ea6d1a 100644
--- a/src/Deployment/nuget/ReportGenerator.Core.nuspec
+++ b/src/Deployment/nuget/ReportGenerator.Core.nuspec
@@ -56,22 +56,6 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -79,6 +63,14 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage
+
+
+
+
+
+
+
+
diff --git a/src/Deployment/nuget/ReportGenerator.nuspec b/src/Deployment/nuget/ReportGenerator.nuspec
index b0766adc..10da1f29 100644
--- a/src/Deployment/nuget/ReportGenerator.nuspec
+++ b/src/Deployment/nuget/ReportGenerator.nuspec
@@ -34,15 +34,12 @@ $(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator
-
-
-
-
-
-
+
+
+
diff --git a/src/Deployment/nuget/ReportGenerator.props b/src/Deployment/nuget/ReportGenerator.props
index 21342a1d..af15bac1 100644
--- a/src/Deployment/nuget/ReportGenerator.props
+++ b/src/Deployment/nuget/ReportGenerator.props
@@ -1,7 +1,7 @@
- $(MSBuildThisFileDirectory)..\..\tools\net6.0\ReportGenerator.MSBuild.dll
+ $(MSBuildThisFileDirectory)..\..\tools\net8.0\ReportGenerator.MSBuild.dll
$(MSBuildThisFileDirectory)..\..\tools\net47\ReportGenerator.MSBuild.dll
diff --git a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec
index 14b232a9..5f1fa533 100644
--- a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec
+++ b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec
@@ -42,16 +42,12 @@ dotnet reportgenerator [options]
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/src/Readme.txt b/src/Readme.txt
index 0da1dc5e..3dd166a9 100644
--- a/src/Readme.txt
+++ b/src/Readme.txt
@@ -69,6 +69,7 @@ CHANGELOG
5.3.12.0
+ * New: Added support for .NET 9. Dropped support for .NET 6 and .NET 7
* Fix: #699 Rounding crap score to full number
* Fix: #700 Fixed handling of .netconfig files (sourceDirectories, reportTypes, plugins, assemblyFilters, etc.)
diff --git a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj
index 0deaade9..02c4514b 100644
--- a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj
+++ b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0;net7.0;net8.0
+ net8.0;net9.0
ProgramIcon.ico
ReportGenerator
Palmmedia.ReportGenerator
diff --git a/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj b/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj
index 2c9cfa13..5e6da505 100644
--- a/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj
+++ b/src/ReportGenerator.Core.Test/MsBuildTestScript_NetCore.proj
@@ -2,11 +2,11 @@
Exe
- net7.0
+ net8.0
-
+
diff --git a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj
index 16514b41..713c881e 100644
--- a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj
+++ b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj
@@ -1,7 +1,7 @@
- net7.0
+ net8.0
false
Palmmedia.ReportGenerator.Core.Test
5.3.11.0
diff --git a/src/ReportGenerator.Core/Generator.cs b/src/ReportGenerator.Core/Generator.cs
index 61eb56e4..9f35b663 100644
--- a/src/ReportGenerator.Core/Generator.cs
+++ b/src/ReportGenerator.Core/Generator.cs
@@ -343,7 +343,7 @@ private IConfigurationRoot GetConfiguration()
var args = Environment.GetCommandLineArgs()
.Where(a => !a.StartsWith("-property:"))
.Where(a => !a.StartsWith("-p:"))
- .Where(a => !(a.StartsWith("/") && a.EndsWith(".dll"))) // Filter path in arguments like /home/user/.dotnet/tools/.store/dotnet-reportgenerator-globaltool/x.y.z/dotnet-reportgenerator-globaltool/x.y.z/tools/net7.0/any/ReportGenerator.dll (appears in global tool)
+ .Where(a => !(a.StartsWith("/") && a.EndsWith(".dll"))) // Filter path in arguments like /home/user/.dotnet/tools/.store/dotnet-reportgenerator-globaltool/x.y.z/dotnet-reportgenerator-globaltool/x.y.z/tools/net8.0/any/ReportGenerator.dll (appears in global tool)
.Where(a => !CommandLineArgumentNames.CommandLineParameterRegex.IsMatch(a))
.ToArray();
diff --git a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj
index 93fd5c53..ff540bda 100644
--- a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj
+++ b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj
@@ -1,6 +1,6 @@
- net6.0;net7.0;net8.0
+ net8.0;net9.0
ReportGenerator.DotnetCorePluginLoader
5.3.11.0
5.3.11.0
diff --git a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj
index bf0cd744..a8e26784 100644
--- a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj
+++ b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0;net7.0;net8.0
+ net8.0;net9.0
ProgramIcon.ico
ReportGenerator
Palmmedia.ReportGenerator
diff --git a/src/build.proj b/src/build.proj
index 58544857..713dbd6a 100644
--- a/src/build.proj
+++ b/src/build.proj
@@ -52,13 +52,11 @@
-
-
+
-
-
+
@@ -81,9 +79,8 @@
-
-
+
@@ -91,9 +88,8 @@
-
-
+
@@ -101,9 +97,9 @@
-
-
-
+
+
+