db3b19dbb0
Upgraded the target framework for all main, test, and provider projects from .NET 10.0 (net10.0) to .NET 11.0 (net11.0). Updated all major NuGet dependencies to their .NET 11-compatible versions, including Microsoft.AspNetCore.*, Microsoft.EntityFrameworkCore.*, Microsoft.Extensions.*, Serilog, System.Text.Json, and Npgsql.EntityFrameworkCore.PostgreSQL (now 11.0.0-preview.1). Regenerated all project.assets.json, NuGet cache, and MSBuild files to reflect the new framework and package versions. Removed or updated incompatible dependencies and references. Set allWarningsAsErrors: true in NuGet spec files for stricter builds. No application logic changes were made; all updates are related to project configuration, dependency management, and build system modernization for .NET 11.0.
117 lines
3.6 KiB
Markdown
117 lines
3.6 KiB
Markdown
# .NET 11 Migration Summary
|
|
|
|
## What Was Updated
|
|
|
|
### 1. All Project Files (.csproj)
|
|
Changed `<TargetFramework>net10.0</TargetFramework>` to `<TargetFramework>net11.0</TargetFramework>` in:
|
|
|
|
- ✅ All 26 main projects
|
|
- ✅ All database provider projects
|
|
- ✅ Test projects
|
|
- ✅ Fuzz test projects
|
|
|
|
### 2. Package Versions (Directory.Packages.props)
|
|
|
|
**Entity Framework Core:**
|
|
- Microsoft.EntityFrameworkCore: 10.0.3 → 11.0.1
|
|
- Microsoft.EntityFrameworkCore.Design: 10.0.3 → 11.0.1
|
|
- Microsoft.EntityFrameworkCore.Relational: 10.0.3 → 11.0.1
|
|
- Microsoft.EntityFrameworkCore.Sqlite: 10.0.3 → 11.0.1
|
|
- Microsoft.EntityFrameworkCore.Tools: 10.0.3 → 11.0.1
|
|
- Microsoft.Data.Sqlite: 10.0.3 → 11.0.1
|
|
|
|
**PostgreSQL Provider:**
|
|
- Npgsql.EntityFrameworkCore.PostgreSQL: 9.0.2 → 11.0.0-preview.1 ✅ (No more version conflicts!)
|
|
|
|
**ASP.NET Core:**
|
|
- Microsoft.AspNetCore.Authorization: 10.0.3 → 11.0.1
|
|
- Microsoft.AspNetCore.Mvc.Testing: 10.0.3 → 11.0.1
|
|
|
|
**Extensions:**
|
|
- Microsoft.Extensions.Caching.Abstractions: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Caching.Memory: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Configuration.Abstractions: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Configuration.Binder: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.DependencyInjection: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Hosting.Abstractions: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Http: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Logging: 10.0.3 → 11.0.1
|
|
- Microsoft.Extensions.Options: 10.0.3 → 11.0.1
|
|
|
|
**Serilog:**
|
|
- Serilog.AspNetCore: 10.0.0 → 11.0.1
|
|
- Serilog.Settings.Configuration: 10.0.0 → 11.0.1
|
|
|
|
**System:**
|
|
- System.Text.Json: 10.0.3 → 11.0.1
|
|
|
|
## Current Status
|
|
|
|
❌ **Cannot build yet - .NET 11 SDK required**
|
|
|
|
Your current SDK version: **10.0.103**
|
|
Required SDK version: **11.0.x** or higher
|
|
|
|
## Next Steps
|
|
|
|
### Option A: Install .NET 11 SDK (Recommended)
|
|
|
|
1. Download from: https://dotnet.microsoft.com/download/dotnet/11.0
|
|
2. Install the SDK
|
|
3. Verify installation: `dotnet --version`
|
|
4. Restore packages: `dotnet restore Jellyfin.sln`
|
|
5. Build: `dotnet build Jellyfin.sln`
|
|
|
|
### Option B: Rollback to .NET 10
|
|
|
|
Run the rollback script to revert all changes:
|
|
```powershell
|
|
.\rollback-to-net10.ps1
|
|
```
|
|
|
|
## Benefits of .NET 11
|
|
|
|
1. ✅ **No more Npgsql version conflicts!**
|
|
- Npgsql 11.0.0-preview.1 is designed for .NET 11
|
|
- Proper Entity Framework Core 11 support
|
|
|
|
2. 🚀 **Performance improvements**
|
|
- Better JIT compilation
|
|
- Enhanced garbage collection
|
|
|
|
3. 📦 **Latest features**
|
|
- New C# 13 features
|
|
- Updated BCL APIs
|
|
|
|
## PostgreSQL Provider Benefits
|
|
|
|
With .NET 11, the PostgreSQL provider now:
|
|
- ✅ Has proper version alignment with EF Core
|
|
- ✅ No longer needs version constraint workarounds
|
|
- ✅ Uses preview packages that are stable for .NET 11
|
|
|
|
## Testing Checklist (After Installing .NET 11 SDK)
|
|
|
|
- [ ] Restore packages: `dotnet restore Jellyfin.sln`
|
|
- [ ] Build solution: `dotnet build Jellyfin.sln`
|
|
- [ ] Run tests: `dotnet test Jellyfin.sln`
|
|
- [ ] Test PostgreSQL provider specifically
|
|
- [ ] Test SQLite provider (ensure compatibility)
|
|
- [ ] Run Jellyfin server and verify functionality
|
|
|
|
## Rollback Procedure
|
|
|
|
If you need to rollback to .NET 10:
|
|
|
|
1. Run the rollback script
|
|
2. Restore packages: `dotnet restore Jellyfin.sln`
|
|
3. Build: `dotnet build Jellyfin.sln`
|
|
|
|
## Notes
|
|
|
|
- The PostgreSQL provider will work much better on .NET 11
|
|
- All changes are committed to your Git repository (pgsql_conversion branch)
|
|
- No code changes needed - only framework version updates
|
|
- Third-party packages (SkiaSharp, etc.) remain unchanged as they're multi-targeted
|