Skip to content

Migrate solution to .NET 10.0 and modernize container infrastructure#502

Draft
pngdeity wants to merge 2 commits intoclasstranscribe:stagingfrom
pngdeity:staging
Draft

Migrate solution to .NET 10.0 and modernize container infrastructure#502
pngdeity wants to merge 2 commits intoclasstranscribe:stagingfrom
pngdeity:staging

Conversation

@pngdeity
Copy link

This pull request migrates the ClassTranscribe WebAPI solution to .NET 10.0 and modernizes the underlying container infrastructure.

Summary of Changes

1. Core Framework & Codebase

  • Target Framework Update: Migrated all projects from net8.0 to net10.0.
  • Modernized Hosting: Refactored ClassTranscribeServer/Program.cs to use the Generic Host (IHostBuilder) pattern, resolving framework-level obsoletion warnings.
  • SDK Compatibility: Added Directory.Build.props to include the AllowMissingPrunePackageData flag, which is a required workaround for the early .NET 10 SDK preview.
  • Dependency Updates: Updated core Microsoft, Entity Framework, and OpenApi packages to their latest compatible versions.

2. Infrastructure & Docker

  • Ubuntu 24.04 (Noble) Transition: Updated Dockerfiles to use the .NET 10 Noble-based SDK and ASP.NET runtime images.
  • Speech SDK Fix: Implemented a community-verified symbolic link workaround for libasound2t64 in the Dockerfiles. This ensures that the Azure Speech SDK's native binaries correctly resolve audio dependencies on Ubuntu 24.04.
  • CI/CD: Updated GitHub Actions workflow to utilize the .10.0.x SDK environment.

3. Verification & Safety

  • Automated Testing: Added UnitTests/SpeechSDKLoadTest.cs to the test suite. This test explicitly verifies that native libraries (specifically the Speech SDK) can be loaded by the .NET 10 runtime, serving as an early-warning system for OS-level dependency issues.
  • Results: All 194 unit tests passed successfully under the new environment.

The commits have been organized into two logical groups (Core Framework and Infrastructure) to facilitate easier review.

Thank you for your time and consideration in reviewing these modernization updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant