121 lines
4.3 KiB
Markdown
121 lines
4.3 KiB
Markdown
# 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`
|