diff --git a/.github/upgrades/assessment.csv b/.github/upgrades/assessment.csv new file mode 100644 index 0000000..bf8ec9b --- /dev/null +++ b/.github/upgrades/assessment.csv @@ -0,0 +1,4 @@ +ID problema,Descrizione,Stato,Gravità,Punti della storia,Percorso progetto,Tipologia di posizione,PERCORSO,Riga,Colonna,ID evento imprevisto,Collegamento alla Guida,Nome dell'assembly,Versione assembly,Chiave pubblica dell'assembly,Frammento +NuGet.0002,È consigliabile eseguire l'aggiornamento del pacchetto NuGet,Active,Potential,1,AutoBidder.csproj,File,AutoBidder.csproj,,,Microsoft.EntityFrameworkCore.Sqlite 8.0.0,,,,,"Microsoft.EntityFrameworkCore.Sqlite, 8.0.0 Raccomandazione: Remove Microsoft.EntityFrameworkCore.Sqlite, and replace with new package Microsoft.EntityFrameworkCore.Sqlite 10.0.5" +NuGet.0002,È consigliabile eseguire l'aggiornamento del pacchetto NuGet,Active,Potential,1,AutoBidder.csproj,File,AutoBidder.csproj,,,Microsoft.AspNetCore.Identity.EntityFrameworkCore 8.0.0,,,,,"Microsoft.AspNetCore.Identity.EntityFrameworkCore, 8.0.0 Raccomandazione: Remove Microsoft.AspNetCore.Identity.EntityFrameworkCore, and replace with new package Microsoft.AspNetCore.Identity.EntityFrameworkCore 10.0.5" +Project.0002,È necessario modificare i framework di destinazione del progetto,Active,Mandatory,1,AutoBidder.csproj,File,AutoBidder.csproj,,,,,,,,Framework di destinazione corrente: net8.0 Framework di destinazione consigliato: net10.0 diff --git a/.github/upgrades/assessment.json b/.github/upgrades/assessment.json new file mode 100644 index 0000000..452545a --- /dev/null +++ b/.github/upgrades/assessment.json @@ -0,0 +1,167 @@ +{ + "settings": { + "components": { + "code": false, + "binaries": false + }, + "targetId": "net10.0", + "targetDisplayName": ".NETCoreApp,Version=v10.0" + }, + "analysisStartTime": "2026-03-31T16:24:00.9934354Z", + "analysisEndTime": "2026-03-31T16:24:01.3926356Z", + "privacyModeHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2270980", + "stats": { + "summary": { + "projects": 1, + "issues": 2, + "incidents": 3, + "effort": 3 + }, + "charts": { + "severity": { + "Mandatory": 1, + "Optional": 0, + "Potential": 2, + "Information": 0 + }, + "category": { + "NuGet": 2, + "Project": 1 + } + } + }, + "projects": [ + { + "path": "AutoBidder.csproj", + "startingProject": true, + "issues": 2, + "storyPoints": 3, + "properties": { + "appName": "AutoBidder", + "projectKind": "AspNetCore", + "frameworks": [ + "net8.0" + ], + "languages": [ + "C#" + ], + "tools": [ + "MSBuild" + ], + "isSdkStyle": true, + "numberOfFiles": 76, + "numberOfCodeFiles": 50, + "linesTotal": 24601, + "linesOfCode": 14361, + "totalApiScanned": 0, + "minLinesOfCodeToChange": 0, + "maxLinesOfCodeToChange": 0 + }, + "ruleInstances": [ + { + "incidentId": "3d50aa32-1a3a-4f89-8e30-cc70a68af57e", + "ruleId": "NuGet.0002", + "projectPath": "AutoBidder.csproj", + "state": "Active", + "location": { + "snippetModel": { + "unrestricted": "Microsoft.EntityFrameworkCore.Sqlite, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.EntityFrameworkCore.Sqlite, and replace with new package Microsoft.EntityFrameworkCore.Sqlite 10.0.5", + "protected": "Microsoft.EntityFrameworkCore.Sqlite, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.EntityFrameworkCore.Sqlite, and replace with new package Microsoft.EntityFrameworkCore.Sqlite 10.0.5" + }, + "kind": "File", + "path": "AutoBidder.csproj", + "snippet": "Microsoft.EntityFrameworkCore.Sqlite, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.EntityFrameworkCore.Sqlite, and replace with new package Microsoft.EntityFrameworkCore.Sqlite 10.0.5", + "protectedSnippet": "Microsoft.EntityFrameworkCore.Sqlite, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.EntityFrameworkCore.Sqlite, and replace with new package Microsoft.EntityFrameworkCore.Sqlite 10.0.5", + "label": "Microsoft.EntityFrameworkCore.Sqlite 8.0.0", + "properties": { + "PackageId": "Microsoft.EntityFrameworkCore.Sqlite", + "PackageVersion": "8.0.0", + "PackageNewVersion": "10.0.5", + "PackageReplacements": null + } + } + }, + { + "incidentId": "1876bbae-2d8e-419c-aedc-f4b0d63ad5ee", + "ruleId": "NuGet.0002", + "projectPath": "AutoBidder.csproj", + "state": "Active", + "location": { + "snippetModel": { + "unrestricted": "Microsoft.AspNetCore.Identity.EntityFrameworkCore, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.AspNetCore.Identity.EntityFrameworkCore, and replace with new package Microsoft.AspNetCore.Identity.EntityFrameworkCore 10.0.5", + "protected": "Microsoft.AspNetCore.Identity.EntityFrameworkCore, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.AspNetCore.Identity.EntityFrameworkCore, and replace with new package Microsoft.AspNetCore.Identity.EntityFrameworkCore 10.0.5" + }, + "kind": "File", + "path": "AutoBidder.csproj", + "snippet": "Microsoft.AspNetCore.Identity.EntityFrameworkCore, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.AspNetCore.Identity.EntityFrameworkCore, and replace with new package Microsoft.AspNetCore.Identity.EntityFrameworkCore 10.0.5", + "protectedSnippet": "Microsoft.AspNetCore.Identity.EntityFrameworkCore, 8.0.0\n\nRaccomandazione:\n\nRemove Microsoft.AspNetCore.Identity.EntityFrameworkCore, and replace with new package Microsoft.AspNetCore.Identity.EntityFrameworkCore 10.0.5", + "label": "Microsoft.AspNetCore.Identity.EntityFrameworkCore 8.0.0", + "properties": { + "PackageId": "Microsoft.AspNetCore.Identity.EntityFrameworkCore", + "PackageVersion": "8.0.0", + "PackageNewVersion": "10.0.5", + "PackageReplacements": null + } + } + }, + { + "incidentId": "ad92ba91-4bd4-46fa-8249-f369bb27e7d6", + "ruleId": "Project.0002", + "projectPath": "AutoBidder.csproj", + "state": "Active", + "location": { + "snippetModel": { + "unrestricted": "Framework di destinazione corrente: net8.0\nFramework di destinazione consigliato: net10.0", + "protected": "Framework di destinazione corrente: net8.0\nFramework di destinazione consigliato: net10.0" + }, + "kind": "File", + "path": "AutoBidder.csproj", + "snippet": "Framework di destinazione corrente: net8.0\nFramework di destinazione consigliato: net10.0", + "protectedSnippet": "Framework di destinazione corrente: net8.0\nFramework di destinazione consigliato: net10.0", + "properties": { + "CurrentTargetFramework": "net8.0", + "RecommendedTargetFramework": "net10.0" + } + } + } + ], + "features": [] + } + ], + "rules": { + "NuGet.0002": { + "id": "NuGet.0002", + "isFeature": false, + "description": "Per il framework di destinazione selezionato \u00E8 consigliato l\u0027aggiornamento del pacchetto NuGet.\n\n\u00C8 consigliabile che i pacchetti .NET standard abbiano versioni corrispondenti alla versione di .NET a cui \u00E8 destinato il progetto.\n\nAlcuni altri pacchetti sono anche noti per funzionare meglio con i framework di destinazione selezionati.", + "label": "\u00C8 consigliabile eseguire l\u0027aggiornamento del pacchetto NuGet", + "severity": "Potential", + "effort": 1, + "links": [ + { + "url": "https://go.microsoft.com/fwlink/?linkid=2262530", + "isCustom": false + } + ] + }, + "Project.0002": { + "id": "Project.0002", + "isFeature": false, + "description": "Il framework di destinazione del progetto devono essere sostituiti con il nuovo framework di destinazione selezionato per questo aggiornamento.\n\nDurante l\u0027aggiornamento, il framework di destinazione verr\u00E0 modificato in base alla piattaforma corrispondente, se applicabile. In alcuni casi il progetto avr\u00E0 pi\u00F9 framework di destinazione dopo l\u0027aggiornamento se prima usava funzionalit\u00E0 che ora dispongono di piattaforme proprie nelle versioni moderne di .NET Framework (Windows, iOS, Android e cos\u00EC via).", + "label": "\u00C8 necessario modificare i framework di destinazione del progetto", + "severity": "Mandatory", + "effort": 1, + "links": [ + { + "title": "Panoramica del trasferimento da .NET Framework a .NET", + "url": "https://go.microsoft.com/fwlink/?linkid=2265227", + "isCustom": false + }, + { + "title": "SDK di progetto .NET", + "url": "https://go.microsoft.com/fwlink/?linkid=2265226", + "isCustom": false + } + ] + } + } +} \ No newline at end of file diff --git a/.github/upgrades/assessment.md b/.github/upgrades/assessment.md new file mode 100644 index 0000000..60afeec --- /dev/null +++ b/.github/upgrades/assessment.md @@ -0,0 +1,136 @@ +# Projects and dependencies analysis + +This document provides a comprehensive overview of the projects and their dependencies in the context of upgrading to .NETCoreApp,Version=v10.0. + +## Table of Contents + +- [Executive Summary](#executive-Summary) + - [Highlevel Metrics](#highlevel-metrics) + - [Projects Compatibility](#projects-compatibility) + - [Package Compatibility](#package-compatibility) + - [API Compatibility](#api-compatibility) +- [Aggregate NuGet packages details](#aggregate-nuget-packages-details) +- [Top API Migration Challenges](#top-api-migration-challenges) + - [Technologies and Features](#technologies-and-features) + - [Most Frequent API Issues](#most-frequent-api-issues) +- [Projects Relationship Graph](#projects-relationship-graph) +- [Project Details](#project-details) + + - [AutoBidder.csproj](#autobiddercsproj) + + +## Executive Summary + +### Highlevel Metrics + +| Metric | Count | Status | +| :--- | :---: | :--- | +| Total Projects | 1 | All require upgrade | +| Total NuGet Packages | 3 | 2 need upgrade | +| Total Code Files | 50 | | +| Total Code Files with Incidents | 1 | | +| Total Lines of Code | 14361 | | +| Total Number of Issues | 3 | | +| Estimated LOC to modify | 0+ | at least 0,0% of codebase | + +### Projects Compatibility + +| Project | Target Framework | Difficulty | Package Issues | API Issues | Est. LOC Impact | Description | +| :--- | :---: | :---: | :---: | :---: | :---: | :--- | +| [AutoBidder.csproj](#autobiddercsproj) | net8.0 | 🟢 Low | 2 | 0 | | AspNetCore, Sdk Style = True | + +### Package Compatibility + +| Status | Count | Percentage | +| :--- | :---: | :---: | +| ✅ Compatible | 1 | 33,3% | +| ⚠️ Incompatible | 0 | 0,0% | +| 🔄 Upgrade Recommended | 2 | 66,7% | +| ***Total NuGet Packages*** | ***3*** | ***100%*** | + +### API Compatibility + +| Category | Count | Impact | +| :--- | :---: | :--- | +| 🔴 Binary Incompatible | 0 | High - Require code changes | +| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing | +| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime | +| ✅ Compatible | 0 | | +| ***Total APIs Analyzed*** | ***0*** | | + +## Aggregate NuGet packages details + +| Package | Current Version | Suggested Version | Projects | Description | +| :--- | :---: | :---: | :--- | :--- | +| Microsoft.AspNetCore.Identity.EntityFrameworkCore | 8.0.0 | 10.0.5 | [AutoBidder.csproj](#autobiddercsproj) | È consigliabile eseguire l'aggiornamento del pacchetto NuGet | +| Microsoft.EntityFrameworkCore.Sqlite | 8.0.0 | 10.0.5 | [AutoBidder.csproj](#autobiddercsproj) | È consigliabile eseguire l'aggiornamento del pacchetto NuGet | +| Npgsql.EntityFrameworkCore.PostgreSQL | 8.0.0 | | [AutoBidder.csproj](#autobiddercsproj) | ✅Compatible | + +## Top API Migration Challenges + +### Technologies and Features + +| Technology | Issues | Percentage | Migration Path | +| :--- | :---: | :---: | :--- | + +### Most Frequent API Issues + +| API | Count | Percentage | Category | +| :--- | :---: | :---: | :--- | + +## Projects Relationship Graph + +Legend: +📦 SDK-style project +⚙️ Classic project + +```mermaid +flowchart LR + P1["📦 AutoBidder.csproj
net8.0"] + click P1 "#autobiddercsproj" + +``` + +## Project Details + + +### AutoBidder.csproj + +#### Project Info + +- **Current Target Framework:** net8.0 +- **Proposed Target Framework:** net10.0 +- **SDK-style**: True +- **Project Kind:** AspNetCore +- **Dependencies**: 0 +- **Dependants**: 0 +- **Number of Files**: 76 +- **Number of Files with Incidents**: 1 +- **Lines of Code**: 14361 +- **Estimated LOC to modify**: 0+ (at least 0,0% of the project) + +#### Dependency Graph + +Legend: +📦 SDK-style project +⚙️ Classic project + +```mermaid +flowchart TB + subgraph current["AutoBidder.csproj"] + MAIN["📦 AutoBidder.csproj
net8.0"] + click MAIN "#autobiddercsproj" + end + +``` + +### API Compatibility + +| Category | Count | Impact | +| :--- | :---: | :--- | +| 🔴 Binary Incompatible | 0 | High - Require code changes | +| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing | +| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime | +| ✅ Compatible | 0 | | +| ***Total APIs Analyzed*** | ***0*** | | +