Mise à niveau vers .NET.NET Aspire 9.0
.NET .NET Aspire 9.0 est désormais en disponibilité générale. Dans cet article, vous allez découvrir les étapes de mise à jour de vos projets .NET Aspire 8.x existants vers .NET Aspire 9.0. Il existe plusieurs façons de mettre à jour vos projets pour .NET.NET Aspire 9.0 :
- Mettez à niveau manuellement vos projets vers .NET.NET Aspire 9.0.
- Utilisez l’assistant de mise à niveau pour mettre à niveau vos projets vers .NET.NET Aspire 9.0.
Pourboire
Si vous débutez avec .NET.NET Aspire, il n’y a aucune raison de mettre à niveau quoi que ce soit. Pour plus d'informations, consultez .NET.NET Aspire configuration et outils.
Conditions préalables
Avant de mettre à niveau vos projets vers .NET.NET Aspire 9.0, vérifiez que vous disposez des conditions préalables suivantes :
- Installer les outils les plus récents.
- Utiliser le kit de développement logiciel (SDK) .NET.NET Aspire.
Note
N’hésitez pas à désinstaller la charge de travail .NET.NET Aspire, car vous n’en aurez plus besoin.
dotnet workload uninstall aspire
Pour plus d’informations, consultez désinstallation de la charge de travail dotnet.
Si vous ne désinstallez pas le workload .NET.NET Aspire et que vous utilisez le nouveau SDK .NET.NET Aspire et les modèles, vous voyez à la fois les modèles .NET Aspire 8.0 et .NET Aspire 9.0.
Mise à niveau manuelle vers .NET.NET Aspire 9.0
Pour mettre à niveau vos projets vers .NET.NET Aspire 9.0, vous devez mettre à jour vos fichiers projet. Les étapes suivantes vous guident tout au long du processus :
- Modifiez votre fichier projet de l'hôte d'application pour utiliser le nouveau SDK .NET.NET Aspire 9.0 (
Aspire.AppHost.Sdk
). - Mettez à jour les packages NuGet dans vos fichiers projet vers les dernières versions.
- Ajustez votre fichier Program.cs pour utiliser les nouvelles API et supprimez les API obsolètes.
Modifier le fichier de projet hôte de votre application
Pour mettre à niveau votre projet hôte d’application vers .NET.NET Aspire 9.0, vous devez mettre à jour votre fichier projet pour utiliser la nouvelle 📦Aspire. AppHost.Sdk:
<Project Sdk="Microsoft.NET.Sdk">
+ <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
</ItemGroup>
</Project>
Vous pouvez éventuellement mettre à niveau l'identificateur du framework cible (TFM)
.NET Aspire 9.0 s’exécute sur .NET 9.0, mais vous pouvez également l’exécuter sur .NET 8.0. En d’autres termes, simplement parce que vous utilisez le kit sdk .NET Aspire et que vous pointez vers les packages version 9.0, vous pouvez toujours cibler .NET 8.0. Si vous souhaitez exécuter votre projet .NET Aspire 9.0 sur .NET 9.0, vous devez mettre à jour la propriété TargetFramework
dans votre fichier projet :
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFramework>net8.0</TargetFramework>
+ <TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
</ItemGroup>
</Project>
Pour plus d’informations sur les TFMs, consultez Frameworks cibles dans les projets de style SDK : dernières versions.
Différences globales du projet hôte d’application
Si vous avez suivi toutes les étapes précédentes, le fichier projet hôte de votre application doit ressembler à ceci :
<Project Sdk="Microsoft.NET.Sdk">
+ <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFramework>net8.0</TargetFramework>
+ <TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
+ <PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
</ItemGroup>
</Project>
Les modifications incluent l’ajout de la Aspire.AppHost.Sdk
, la mise à jour de la propriété TargetFramework
à net9.0
et la mise à jour du package Aspire.Hosting.AppHost
vers la version 9.0.0
.
Ajustez votre fichier Program.cs
Avec l’introduction de .NET.NET Aspire 9.0, il y a quelques changements majeurs. Certaines API ont été initialement marquées comme expérimentales (avec le ExperimentalAttribute) et sont maintenant supprimées, tandis que d’autres API sont désormais attribuées comme ObsoleteAttribute avec des détails sur les nouvelles API de remplacement. Vous devez ajuster votre fichier Program.cs (et potentiellement d’autres API affectées) pour utiliser les nouvelles API. Si vous utilisez l’Assistant Mise à niveau pour mettre à niveau vos projets, il ajuste automatiquement votre fichier Program.cs dans la plupart des cas.
Pour obtenir la liste complète des changements cassants dans .NET.NET Aspire 9.0, consultez changements cassants dans .NET.NET Aspire 9.0.
Utiliser l’Assistant Mise à niveau
L’Assistant mise à niveau est un outil qui permet de mettre à niveau des projets ciblés vers la dernière version. Si vous débutez avec l’Assistant Mise à niveau, il existe deux modalités à choisir :
Quelle que soit la façon dont vous installez l’Assistant Mise à niveau, vous pouvez l’utiliser pour mettre à niveau vos projets .NET Aspire 8.x vers .NET Aspire 9.0.
Pour mettre à niveau le projet hôte d’application .NET Aspire vers .NET Aspire 9.0 avec Visual Studio, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Mettre à niveau.
Important
Si l’assistant de mise à niveau n’est pas déjà installé, vous êtes invité à l’installer.
L’Assistant Mise à niveau affiche un package d’accueil. Sélectionnez l’option Aspire mise à niveau :
Avec l'option de mise à niveau Aspire sélectionnée, l'Assistant de mise à niveau affiche les composants cibles de mise à niveau sélectionnables. Laissez toutes les options activées et sélectionnez option de mise à niveau:
Enfin, après avoir sélectionné les composants à mettre à niveau, l’Assistant Mise à niveau affiche les résultats du processus de mise à niveau. Si tout a réussi, vous voyez des coches vertes en regard de chaque composant :
Pour mettre à niveau le projet hôte d’application .NET.NET Aspire, vérifiez que vous avez installé l’interface CLI de l’Assistant Mise à niveau. Ouvrez une session de terminal dans le répertoire racine du fichier projet hôte de l’application .NET.NET Aspire, puis exécutez la commande suivante :
upgrade-assistant upgrade
La sortie est interactive, et vous êtes invité à sélectionner le type de mise à niveau. Choisissez l'option de mise à niveau Aspire :
Selected options
────────────────────────────────────────────────────────────────────────────────────
Source project ..\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj
Steps
────────────────────────────────
Source project / Upgrade type
────────────────────────────────
How do you want to upgrade project AspireSample.AppHost?
> Aspire upgrades
Upgrade to latest .NET Aspire version (aspire.latest)
Upgrade project to a newer .NET version
In-place project upgrade (framework.inplace)
NuGet upgrades
NuGet central package management (CPM) (nuget.cpm)
Navigation
Back
Exit
Utilisez votre clavier pour naviguer vers le haut ↑ ou vers le bas , puis sélectionnez l’option Aspire mises à niveau. L’Assistant Mise à niveau demande la confirmation finale. Entrez Y pour poursuivre la mise à niveau :
Selected options
────────────────────────────────────────────────────────────────────────────────────
Source project ..\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj
Upgrade type aspire.latest
Steps
──────────────────────────────────────────
Source project / Upgrade type / Upgrade
──────────────────────────────────────────
We have gathered all required options and are ready to do the upgrade. Do you want to continue? [y/n] (y):
Enfin, une fois le processus de mise à niveau terminé, l’Assistant Mise à niveau affiche les résultats du processus de mise à niveau :
Finalizing operation...
Complete: 3 succeeded, 0 failed, 7 skipped.
Mettre à jour les packages NuGet
Pour tirer parti des dernières mises à jour de votre solution .NET.NET Aspire, mettez à jour tous les packages NuGet vers la version 9.0.0
.
Pour mettre à jour votre projet hôte d’application, utilisez la commande CLI .NET suivante pour mettre à jour le package Aspire.Hosting.AppHost
vers la version 9.0.0
:
dotnet add package Aspire.Hosting.AppHost --version 9.0.0
Lorsqu’une référence de package existe déjà, la commande dotnet add package
met à jour la référence à la version spécifiée. Pour plus d’informations, consultez dotnet add package.
Avec le projet hôte d’application mis à jour, votre fichier projet doit ressembler à ceci :
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
+ <PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
</ItemGroup>
</Project>
Pourboire
Vous devez également mettre à jour les packages NuGet dans vos autres projets vers les dernières versions.
Vérifier la mise à niveau
Comme pour toute mise à niveau, assurez-vous que l’application s’exécute comme prévu et que tous les tests réussissent. Générez la solution et recherchez des suggestions, des avertissements ou des erreurs dans la fenêtre de sortie : résolvez tout ce qui n’était pas un problème avant. Si vous rencontrez des problèmes, faites-le nous savoir en soumettant un problème GitHub.