Files
Tritone/.github/upgrades/tasks.md
T

4.3 KiB

Upgrade Tasks — BettingPredictor (.NET 10.0)

Progress Dashboard

Status Count
? Complete 0
? In Progress 0
? Not Started 7
? Failed 0
? Skipped 0
Total 7

Tasks

[?] TASK-001: Verify Prerequisites

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

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

Scope: BettingPredictor.csproj References: Plan §4.1 Step 2

Actions:

  • (1) Set <TargetFramework> to net10.0-windows in BettingPredictor.csproj
  • (2) Ensure <UseWPF>true</UseWPF> 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

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

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

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

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