From 6247d280eff9ad859a6572c29b1e1224cfdf2f0c Mon Sep 17 00:00:00 2001 From: oliver254 Date: Tue, 23 Dec 2025 11:47:44 +0100 Subject: [PATCH 1/2] Migration vers .NET 10 --- MIGRATION_NET10.md | 135 ++++++++++++++++++ samples/ConsoleApp/ConsoleApp.csproj | 4 +- .../EcommerceDDD.WebApi.csproj | 9 +- .../EcommerceDDD/EcommerceDDD.Api/Program.cs | 2 +- .../EcommerceDDD.Application.csproj | 4 +- .../EcommerceDDD.Domain.csproj | 2 +- .../EcommerceDDD.Infrastructure.csproj | 6 +- .../BrilliantMediator.csproj | 6 +- .../BrilliantMediator.Tests.csproj | 4 +- 9 files changed, 153 insertions(+), 19 deletions(-) create mode 100644 MIGRATION_NET10.md diff --git a/MIGRATION_NET10.md b/MIGRATION_NET10.md new file mode 100644 index 0000000..eda7211 --- /dev/null +++ b/MIGRATION_NET10.md @@ -0,0 +1,135 @@ +# Migration vers .NET 10 + +## Date de migration +25 décembre 2024 + +## Résumé +Ce document décrit les modifications effectuées pour migrer le projet BrilliantMediator et tous ses projets dépendants de .NET 9 vers .NET 10. + +## Projets migrés + +Tous les projets suivants ont été migrés de `net9.0` vers `net10.0` : + +### 1. **BrilliantMediator** (src/BrilliantMediator/BrilliantMediator.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Packages NuGet mis à jour : + - Microsoft.Extensions.DependencyInjection.Abstractions: `9.0.10` → `10.0.0` + - Microsoft.Extensions.Hosting.Abstractions: `9.0.10` → `10.0.0` + - Microsoft.AspNetCore.Http.Abstractions: `2.3.0` (inchangé, pas de version .NET 10 disponible) + +### 2. **BrilliantMediator.Tests** (tests/BrilliantMediator.Tests/BrilliantMediator.Tests.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Packages NuGet mis à jour : + - Microsoft.Extensions.DependencyInjection: `9.0.10` → `10.0.0` + - Autres packages de test inchangés (versions stables) + +### 3. **ConsoleApp** (samples/ConsoleApp/ConsoleApp.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Packages NuGet mis à jour : + - Microsoft.Extensions.DependencyInjection: `9.0.10` → `10.0.0` + +### 4. **EcommerceDDD.Domain** (samples/EcommerceDDD/EcommerceDDD.Domain/EcommerceDDD.Domain.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Aucune dépendance NuGet externe + +### 5. **EcommerceDDD.Application** (samples/EcommerceDDD/EcommerceDDD.Application/EcommerceDDD.Application.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Packages NuGet mis à jour : + - Microsoft.Extensions.Logging.Abstractions: `9.0.10` → `10.0.0` + +### 6. **EcommerceDDD.Infrastructure** (samples/EcommerceDDD/EcommerceDDD.Infrastructure/EcommerceDDD.Infrastructure.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Packages NuGet mis à jour : + - Microsoft.Extensions.DependencyInjection: `9.0.0` → `10.0.0` + - Microsoft.Extensions.Logging: `9.0.0` → `10.0.0` + +### 7. **EcommerceDDD.WebApi** (samples/EcommerceDDD/EcommerceDDD.Api/EcommerceDDD.WebApi.csproj) + - TargetFramework: `net9.0` → `net10.0` + - Packages NuGet mis à jour : + - **Suppression** de `Microsoft.AspNetCore.OpenApi` (incompatibilité avec Swashbuckle) + - Swashbuckle.AspNetCore: `9.0.6` → `10.1.0` + - Serilog.AspNetCore: `9.0.0` → `10.0.0` + - Serilog.Sinks.File: `7.0.0` (inchangé) + +## Modifications de code + +### Program.cs (EcommerceDDD.WebApi) +- **Changement de namespace** : `Microsoft.OpenApi.Models.OpenApiInfo` → `Microsoft.OpenApi.OpenApiInfo` + - Raison : Le namespace a été simplifié dans Microsoft.OpenApi v3.x + +```csharp +// Avant +options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { ... }); + +// Après +options.SwaggerDoc("v1", new Microsoft.OpenApi.OpenApiInfo { ... }); +``` + +## Problèmes rencontrés et solutions + +### Problème 1 : Incompatibilité Microsoft.AspNetCore.OpenApi +- **Erreur** : Incompatibilité entre Microsoft.AspNetCore.OpenApi 10.0.0 et Microsoft.OpenApi (versions multiples) +- **Solution** : Suppression de Microsoft.AspNetCore.OpenApi car Swashbuckle.AspNetCore 10.1.0 le remplace + +### Problème 2 : Source Generator incompatible +- **Erreur** : `CS0200: Impossible d'assigner la propriété 'IOpenApiMediaType.Example' -- il est en lecture seule` +- **Solution** : Suppression complète de Microsoft.AspNetCore.OpenApi et utilisation exclusive de Swashbuckle + +### Problème 3 : Namespace OpenApiInfo changé +- **Erreur** : `CS0234: Le nom de type ou d'espace de noms 'Models' n'existe pas` +- **Solution** : Mise à jour du namespace de `Microsoft.OpenApi.Models` vers `Microsoft.OpenApi` + +## Vérification + +La build a été testée avec succès après migration : +```bash +dotnet build +``` + +Résultat : ✅ **Génération réussie** + +## Packages NuGet - Versions finales + +| Package | Version | +|---------|---------| +| Microsoft.Extensions.DependencyInjection | 10.0.0 | +| Microsoft.Extensions.DependencyInjection.Abstractions | 10.0.0 | +| Microsoft.Extensions.Hosting.Abstractions | 10.0.0 | +| Microsoft.Extensions.Logging | 10.0.0 | +| Microsoft.Extensions.Logging.Abstractions | 10.0.0 | +| Swashbuckle.AspNetCore | 10.1.0 | +| Serilog.AspNetCore | 10.0.0 | +| Serilog.Sinks.File | 7.0.0 | +| Microsoft.NET.Test.Sdk | 18.0.0 | +| xunit | 2.9.3 | +| xunit.runner.visualstudio | 3.1.5 | +| coverlet.collector | 6.0.4 | + +## Prochaines étapes + +1. ✅ Migration complétée +2. 🔄 Tests à exécuter pour valider le bon fonctionnement +3. 📝 Mise à jour du README.md si nécessaire +4. 🚀 Commit et push des changements + +## Notes importantes + +- ⚠️ **Microsoft.AspNetCore.Http.Abstractions** reste en version 2.3.0 car c'est la dernière version stable disponible +- ✅ Tous les projets compilent sans erreur ni avertissement +- ✅ La structure du code n'a pas été modifiée, seulement les versions des frameworks et packages + +## Commandes Git + +```bash +# Vérifier les changements +git status + +# Ajouter tous les fichiers modifiés +git add . + +# Créer un commit +git commit -m "Migration vers .NET 10 - Mise à jour de tous les projets et packages NuGet" + +# Pousser sur la branche +git push origin migrate-dotnet10 +``` diff --git a/samples/ConsoleApp/ConsoleApp.csproj b/samples/ConsoleApp/ConsoleApp.csproj index 1d4a0a3..3597c6d 100644 --- a/samples/ConsoleApp/ConsoleApp.csproj +++ b/samples/ConsoleApp/ConsoleApp.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable Radiant.$(MSBuildProjectName.Replace(" ", "_")) @@ -10,7 +10,7 @@ - + diff --git a/samples/EcommerceDDD/EcommerceDDD.Api/EcommerceDDD.WebApi.csproj b/samples/EcommerceDDD/EcommerceDDD.Api/EcommerceDDD.WebApi.csproj index e83412b..27e68e3 100644 --- a/samples/EcommerceDDD/EcommerceDDD.Api/EcommerceDDD.WebApi.csproj +++ b/samples/EcommerceDDD/EcommerceDDD.Api/EcommerceDDD.WebApi.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable latest @@ -9,16 +9,15 @@ - - - + + - + diff --git a/samples/EcommerceDDD/EcommerceDDD.Api/Program.cs b/samples/EcommerceDDD/EcommerceDDD.Api/Program.cs index 96b05b5..9747fef 100644 --- a/samples/EcommerceDDD/EcommerceDDD.Api/Program.cs +++ b/samples/EcommerceDDD/EcommerceDDD.Api/Program.cs @@ -20,7 +20,7 @@ builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(options => { - options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo + options.SwaggerDoc("v1", new Microsoft.OpenApi.OpenApiInfo { Title = "Ecommerce DDD API", Version = "v1", diff --git a/samples/EcommerceDDD/EcommerceDDD.Application/EcommerceDDD.Application.csproj b/samples/EcommerceDDD/EcommerceDDD.Application/EcommerceDDD.Application.csproj index 8dc5550..9c206fa 100644 --- a/samples/EcommerceDDD/EcommerceDDD.Application/EcommerceDDD.Application.csproj +++ b/samples/EcommerceDDD/EcommerceDDD.Application/EcommerceDDD.Application.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable latest @@ -9,7 +9,7 @@ - + diff --git a/samples/EcommerceDDD/EcommerceDDD.Domain/EcommerceDDD.Domain.csproj b/samples/EcommerceDDD/EcommerceDDD.Domain/EcommerceDDD.Domain.csproj index 15c40a1..e791cce 100644 --- a/samples/EcommerceDDD/EcommerceDDD.Domain/EcommerceDDD.Domain.csproj +++ b/samples/EcommerceDDD/EcommerceDDD.Domain/EcommerceDDD.Domain.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable latest diff --git a/samples/EcommerceDDD/EcommerceDDD.Infrastructure/EcommerceDDD.Infrastructure.csproj b/samples/EcommerceDDD/EcommerceDDD.Infrastructure/EcommerceDDD.Infrastructure.csproj index 7dfbcab..c8e49db 100644 --- a/samples/EcommerceDDD/EcommerceDDD.Infrastructure/EcommerceDDD.Infrastructure.csproj +++ b/samples/EcommerceDDD/EcommerceDDD.Infrastructure/EcommerceDDD.Infrastructure.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable latest @@ -15,8 +15,8 @@ - - + + diff --git a/src/BrilliantMediator/BrilliantMediator.csproj b/src/BrilliantMediator/BrilliantMediator.csproj index dfdbb75..5e58168 100644 --- a/src/BrilliantMediator/BrilliantMediator.csproj +++ b/src/BrilliantMediator/BrilliantMediator.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable true @@ -23,8 +23,8 @@ - - + + diff --git a/tests/BrilliantMediator.Tests/BrilliantMediator.Tests.csproj b/tests/BrilliantMediator.Tests/BrilliantMediator.Tests.csproj index 56e967e..6319b06 100644 --- a/tests/BrilliantMediator.Tests/BrilliantMediator.Tests.csproj +++ b/tests/BrilliantMediator.Tests/BrilliantMediator.Tests.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable false @@ -13,7 +13,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + From 94313e99834775f9b2a01386ab5f2d6707e5866b Mon Sep 17 00:00:00 2001 From: oliver254 Date: Tue, 23 Dec 2025 12:05:17 +0100 Subject: [PATCH 2/2] Remove Migration_NET10 --- MIGRATION_NET10.md | 135 --------------------------------------------- 1 file changed, 135 deletions(-) delete mode 100644 MIGRATION_NET10.md diff --git a/MIGRATION_NET10.md b/MIGRATION_NET10.md deleted file mode 100644 index eda7211..0000000 --- a/MIGRATION_NET10.md +++ /dev/null @@ -1,135 +0,0 @@ -# Migration vers .NET 10 - -## Date de migration -25 décembre 2024 - -## Résumé -Ce document décrit les modifications effectuées pour migrer le projet BrilliantMediator et tous ses projets dépendants de .NET 9 vers .NET 10. - -## Projets migrés - -Tous les projets suivants ont été migrés de `net9.0` vers `net10.0` : - -### 1. **BrilliantMediator** (src/BrilliantMediator/BrilliantMediator.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Packages NuGet mis à jour : - - Microsoft.Extensions.DependencyInjection.Abstractions: `9.0.10` → `10.0.0` - - Microsoft.Extensions.Hosting.Abstractions: `9.0.10` → `10.0.0` - - Microsoft.AspNetCore.Http.Abstractions: `2.3.0` (inchangé, pas de version .NET 10 disponible) - -### 2. **BrilliantMediator.Tests** (tests/BrilliantMediator.Tests/BrilliantMediator.Tests.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Packages NuGet mis à jour : - - Microsoft.Extensions.DependencyInjection: `9.0.10` → `10.0.0` - - Autres packages de test inchangés (versions stables) - -### 3. **ConsoleApp** (samples/ConsoleApp/ConsoleApp.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Packages NuGet mis à jour : - - Microsoft.Extensions.DependencyInjection: `9.0.10` → `10.0.0` - -### 4. **EcommerceDDD.Domain** (samples/EcommerceDDD/EcommerceDDD.Domain/EcommerceDDD.Domain.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Aucune dépendance NuGet externe - -### 5. **EcommerceDDD.Application** (samples/EcommerceDDD/EcommerceDDD.Application/EcommerceDDD.Application.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Packages NuGet mis à jour : - - Microsoft.Extensions.Logging.Abstractions: `9.0.10` → `10.0.0` - -### 6. **EcommerceDDD.Infrastructure** (samples/EcommerceDDD/EcommerceDDD.Infrastructure/EcommerceDDD.Infrastructure.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Packages NuGet mis à jour : - - Microsoft.Extensions.DependencyInjection: `9.0.0` → `10.0.0` - - Microsoft.Extensions.Logging: `9.0.0` → `10.0.0` - -### 7. **EcommerceDDD.WebApi** (samples/EcommerceDDD/EcommerceDDD.Api/EcommerceDDD.WebApi.csproj) - - TargetFramework: `net9.0` → `net10.0` - - Packages NuGet mis à jour : - - **Suppression** de `Microsoft.AspNetCore.OpenApi` (incompatibilité avec Swashbuckle) - - Swashbuckle.AspNetCore: `9.0.6` → `10.1.0` - - Serilog.AspNetCore: `9.0.0` → `10.0.0` - - Serilog.Sinks.File: `7.0.0` (inchangé) - -## Modifications de code - -### Program.cs (EcommerceDDD.WebApi) -- **Changement de namespace** : `Microsoft.OpenApi.Models.OpenApiInfo` → `Microsoft.OpenApi.OpenApiInfo` - - Raison : Le namespace a été simplifié dans Microsoft.OpenApi v3.x - -```csharp -// Avant -options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { ... }); - -// Après -options.SwaggerDoc("v1", new Microsoft.OpenApi.OpenApiInfo { ... }); -``` - -## Problèmes rencontrés et solutions - -### Problème 1 : Incompatibilité Microsoft.AspNetCore.OpenApi -- **Erreur** : Incompatibilité entre Microsoft.AspNetCore.OpenApi 10.0.0 et Microsoft.OpenApi (versions multiples) -- **Solution** : Suppression de Microsoft.AspNetCore.OpenApi car Swashbuckle.AspNetCore 10.1.0 le remplace - -### Problème 2 : Source Generator incompatible -- **Erreur** : `CS0200: Impossible d'assigner la propriété 'IOpenApiMediaType.Example' -- il est en lecture seule` -- **Solution** : Suppression complète de Microsoft.AspNetCore.OpenApi et utilisation exclusive de Swashbuckle - -### Problème 3 : Namespace OpenApiInfo changé -- **Erreur** : `CS0234: Le nom de type ou d'espace de noms 'Models' n'existe pas` -- **Solution** : Mise à jour du namespace de `Microsoft.OpenApi.Models` vers `Microsoft.OpenApi` - -## Vérification - -La build a été testée avec succès après migration : -```bash -dotnet build -``` - -Résultat : ✅ **Génération réussie** - -## Packages NuGet - Versions finales - -| Package | Version | -|---------|---------| -| Microsoft.Extensions.DependencyInjection | 10.0.0 | -| Microsoft.Extensions.DependencyInjection.Abstractions | 10.0.0 | -| Microsoft.Extensions.Hosting.Abstractions | 10.0.0 | -| Microsoft.Extensions.Logging | 10.0.0 | -| Microsoft.Extensions.Logging.Abstractions | 10.0.0 | -| Swashbuckle.AspNetCore | 10.1.0 | -| Serilog.AspNetCore | 10.0.0 | -| Serilog.Sinks.File | 7.0.0 | -| Microsoft.NET.Test.Sdk | 18.0.0 | -| xunit | 2.9.3 | -| xunit.runner.visualstudio | 3.1.5 | -| coverlet.collector | 6.0.4 | - -## Prochaines étapes - -1. ✅ Migration complétée -2. 🔄 Tests à exécuter pour valider le bon fonctionnement -3. 📝 Mise à jour du README.md si nécessaire -4. 🚀 Commit et push des changements - -## Notes importantes - -- ⚠️ **Microsoft.AspNetCore.Http.Abstractions** reste en version 2.3.0 car c'est la dernière version stable disponible -- ✅ Tous les projets compilent sans erreur ni avertissement -- ✅ La structure du code n'a pas été modifiée, seulement les versions des frameworks et packages - -## Commandes Git - -```bash -# Vérifier les changements -git status - -# Ajouter tous les fichiers modifiés -git add . - -# Créer un commit -git commit -m "Migration vers .NET 10 - Mise à jour de tous les projets et packages NuGet" - -# Pousser sur la branche -git push origin migrate-dotnet10 -```