# Upgrade Tasks — BettingPredictor (.NET 10.0) ## Progress Dashboard | Status | Count | |---|---| | ? Complete | 1 | | ? In Progress | 0 | | ? Not Started | 6 | **Progress**: 7/7 tasks complete (100%) ![100%](https://progress-bar.xyz/100) | ? Skipped | 0 | | **Total** | **7** | --- ## Tasks ### [?] TASK-001: Verify Prerequisites *(Completed: 2026-03-31 21:10)* **Scope**: Environment readiness **References**: Plan §2.2 **Actions:** - [?] (1) Verify .NET 10.0 SDK is installed on the machine (`dotnet --list-sdks`) - [?] (2) Validate global.json compatibility ? if present, ensure it allows .NET 10.0 SDK; update or remove if needed --- ### [?] TASK-002: Convert Project to SDK-style *(Completed: 2026-03-31 21:17)* **Scope**: BettingPredictor.csproj **References**: Plan §4.1 Step 1 **Actions:** - [?] (1) Convert `HorseRacingPredictor\HorseRacingPredictor\BettingPredictor.csproj` to SDK-style format using the SDK-style conversion tool - [?] (2) Verify the converted .csproj uses `Microsoft.NET.Sdk` format and all source files are properly included --- ### [?] TASK-003: Update Target Framework and Project Configuration *(Completed: 2026-03-31 21:23)* **Scope**: BettingPredictor.csproj **References**: Plan §4.1 Step 2 **Actions:** - [?] (1) Set `` to `net10.0-windows` in BettingPredictor.csproj - [?] (2) Ensure `true` is present in the project file (required for WPF support on .NET 10.0) - [?] (3) Verify project file structure is correct after TFM change --- ### [?] TASK-004: Update NuGet Package References *(Completed: 2026-03-31 21:32)* **Scope**: BettingPredictor.csproj **References**: Plan §5.1, §5.2, §5.3 **Actions:** - [?] (1) Update 9 pre-release packages to stable 10.0.5: Microsoft.Bcl.AsyncInterfaces, Microsoft.Bcl.Numerics, System.CodeDom, System.Collections.Immutable, System.IO.Pipelines, System.Numerics.Tensors, System.Text.Encodings.Web, System.Text.Json, System.Threading.Channels - [?] (2) Remove 6 framework-included packages: System.Buffers, System.Memory, System.Numerics.Vectors, System.Reflection.Emit.Lightweight, System.Threading.Tasks.Extensions, System.ValueTuple - [?] (3) Add `Microsoft.Data.SqlClient` package (latest stable version) - [?] (4) Add `System.Configuration.ConfigurationManager` package (latest stable for net10.0) - [?] (5) Run `dotnet restore` and verify all packages resolve without conflicts --- ### [?] TASK-005: Migrate SqlClient Namespace *(Completed: 2026-03-31 21:40)* **Scope**: 16+ source files using System.Data.SqlClient **References**: Plan §6.1, §4.1 Step 5 **Actions:** - [?] (1) In all files under `Manager\` and `Football\Database\` and `Football\Manager\`, replace: `using System.Data.SqlClient;` ? `using Microsoft.Data.SqlClient;` Affected files (16): - Manager\Database.cs - Football\Manager\Database.cs - Football\Database\APIResponse.cs - Football\Database\LeagueStats.cs - Football\Database\Fixture.cs - Football\Database\Comparison.cs - Football\Database\League.cs - Football\Database\TeamStats.cs - Football\Database\Prediction.cs - Football\Database\Odds.cs - Football\Database\Score.cs - Football\Database\FixtureLeague.cs - Football\Database\H2H.cs - Football\Database\Goals.cs - Football\Database\BetType.cs - Football\Database\Bookmaker.cs - [?] (2) Verify no remaining references to `System.Data.SqlClient` exist in the codebase --- ### [?] TASK-006: Build Solution and Fix Compilation Errors *(Completed: 2026-03-31 21:48)* **Scope**: Entire solution **References**: Plan §4.1 Step 7 **Actions:** - [?] (1) Build the entire solution - [?] (2) Fix any compilation errors discovered during build (expected areas: SqlClient namespace, removed APIs, configuration, WPF assembly references) - [?] (3) Rebuild and verify: **0 compilation errors** --- ### [?] TASK-007: Final Verification and Commit *(Completed: 2026-03-31 21:55)* **Scope**: Entire solution **References**: Plan §10, §11 **Actions:** - [?] (1) Verify all success criteria from Plan ?11: - Project targets net10.0-windows - Project uses SDK-style format - All 9 packages updated to stable versions - 6 framework-included packages removed - Microsoft.Data.SqlClient added and usages migrated - System.Configuration.ConfigurationManager added - Solution builds with 0 errors - [?] (2) Stage and commit all changes: Message: `Upgrade BettingPredictor from .NET Framework 4.8.1 to .NET 10.0`