Problem
.NET 8 LTS support ends in November 2026 (~9 months remaining). The project needs to migrate to .NET 10 LTS to ensure continued support, security updates, and access to the latest performance improvements and features for the next 2.7+ years.
Proposed Solution
Upgrade the entire solution from .NET 8 to .NET 10 LTS, leveraging new runtime performance improvements, C# 14 language features, and enhanced SDK capabilities while maintaining backward compatibility and existing functionality.
Suggested Approach
-
Update Target Framework
- Modify all
.csproj files to target net10.0
- Update
global.json to specify .NET 10 SDK version
-
Update Dependencies
- Upgrade all NuGet packages to .NET 10 compatible versions
- Update ASP.NET Core packages to 10.0.x
- Update Entity Framework Core (if used) to 10.0.x
- Review and update test framework packages
-
Docker Configuration
- Update
Dockerfile base images to .NET 10 SDK and runtime
- Update
compose.yaml if it references specific .NET versions
-
CI/CD Pipeline Updates
- Update
azure-pipelines.yml to use .NET 10 SDK
- Update GitHub Actions workflows (if any) to use .NET 10
-
Code Modernization (Optional)
- Leverage C# 14 features where beneficial (field-backed properties, extension blocks)
- Review and apply new performance optimizations
- Consider WebSocketStream for WebSocket implementations
- Evaluate post-quantum cryptography APIs if applicable
-
Testing & Validation
- Run existing test suite to ensure compatibility
- Perform regression testing
- Update unit tests if behavior changes are detected
- Load/performance testing to validate improvements
Acceptance Criteria
References
Problem
.NET 8 LTS support ends in November 2026 (~9 months remaining). The project needs to migrate to .NET 10 LTS to ensure continued support, security updates, and access to the latest performance improvements and features for the next 2.7+ years.
Proposed Solution
Upgrade the entire solution from .NET 8 to .NET 10 LTS, leveraging new runtime performance improvements, C# 14 language features, and enhanced SDK capabilities while maintaining backward compatibility and existing functionality.
Suggested Approach
Update Target Framework
.csprojfiles to targetnet10.0global.jsonto specify .NET 10 SDK versionUpdate Dependencies
Docker Configuration
Dockerfilebase images to .NET 10 SDK and runtimecompose.yamlif it references specific .NET versionsCI/CD Pipeline Updates
azure-pipelines.ymlto use .NET 10 SDKCode Modernization (Optional)
Testing & Validation
Acceptance Criteria
net10.0frameworkReferences