Partager via


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 :

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.0et 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 :

Visual Studio: page d’accueil de l’assistant de mise à niveau avec le projet hôte pour l'application .NET Aspire.

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:

Visual Studio: Mettre à niveau l’Assistant .NET Aspire composants sélectionnables à mettre à 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 :

Visual Studio: Le projet hôte de l'application Assistant de mise à niveau .NET Aspire a été mis à niveau avec succès.

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.