Dela via


Uppgradera till .NET.NET Aspire 9.0

.NET .NET Aspire 9.0 är nu allmänt tillgänglig. I den här artikeln får du lära dig hur du uppdaterar dina befintliga .NET Aspire 8.x-projekt till .NET Aspire 9.0. Det finns några sätt att uppdatera dina projekt till .NET.NET Aspire 9.0:

  • Uppgradera projekten manuellt till .NET.NET Aspire 9.0.
  • Använd Upgrade Assistant för att uppgradera dina projekt till .NET.NET Aspire 9.0.

Tips

Om du är nybörjare på .NET.NET Aspirefinns det ingen anledning att uppgradera något. För mer information, se .NET.NET Aspire installation och verktyg.

Förutsättningar

Innan du uppgraderar dina projekt till .NET.NET Aspire 9.0 måste du se till att du har följande förutsättningar:

Obs.

Avinstallera gärna .NET.NET Aspire arbetsbelastningen eftersom du inte längre behöver den.

dotnet workload uninstall aspire

För mer information, se avinstallera dotnet-arbetsbelastning.

Om du inte avinstallerar .NET.NET Aspire arbetsbelastningen och du använder den nya .NET.NET Aspire SDK- och mallar visas både .NET Aspire 8.0- och .NET Aspire 9.0-mallar.

Uppgradera manuellt till .NET.NET Aspire 9.0

Om du vill uppgradera dina projekt till .NET.NET Aspire 9.0 måste du uppdatera dina projektfiler. Följande steg vägleder dig genom processen:

  • Redigera din appvärd projektfil för att använda den nya .NET.NET Aspire 9.0 SDK (Aspire.AppHost.Sdk).
  • Uppdatera NuGet-paketen i projektfilerna till de senaste versionerna.
  • Justera din Program.cs-fil för att använda de nya API:erna och ta bort eventuella föråldrade API:er.

Redigera programvärdprojektfilen

Om du vill uppgradera appvärdprojektet till .NET.NET Aspire 9.0 måste du uppdatera projektfilen så att den använder den nya 📦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>

Du kan också uppgradera målramverkets moniker (TFM)

.NET Aspire 9.0 körs på .NET 9.0, men du kan också köra den på .NET 8.0. Med andra ord, bara för att du använder .NET Aspire SDK och pekar på version 9.0-paket, kan du fortfarande rikta in dig på .NET 8.0. Om du vill köra ditt .NET Aspire 9.0-projekt på .NET 9.0 måste du uppdatera egenskapen TargetFramework i projektfilen:

<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.0.0" />
  </ItemGroup>

</Project>

Mer information om TFM:er finns i Målramverk i SDK-liknande projekt: De senaste versionerna.

Övergripande skillnader mellan programvärdprojekt

Om du har följt alla föregående steg bör din appvärdprojektfil se ut så här:

<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.0.0" />
  </ItemGroup>

</Project>

Ändringarna inkluderar tillägget av Aspire.AppHost.Sdk, uppdateringen av egenskapen TargetFramework till net9.0och uppdateringen av Aspire.Hosting.AppHost-paketet till version 9.0.0.

Justera Program.cs-filen

Med introduktionen av .NET.NET Aspire 9.0 finns det några störande ändringar. Vissa API:er markerades ursprungligen som experimentella (med ExperimentalAttribute) och tas nu bort, medan andra API:er nu tillskrivs som ObsoleteAttribute med information om nya ersättnings-API:er. Du måste justera din Program.cs -fil (och potentiellt andra berörda API:er) för att använda de nya API:erna. Om du använder uppgraderingsassistenten för att uppgradera dina projekt justeras din Program.cs fil automatiskt i de flesta fall.

För en fullständig lista över brytändringar i .NET.NET Aspire 9.0, se Brytändringar i .NET.NET Aspire 9.0.

Använda uppgraderingsassistenten

Upgrade Assistant är ett verktyg som hjälper dig att uppgradera målprojekt till den senaste versionen. Om du inte har använt uppgraderingsassistenten tidigare finns det två metoder att välja mellan:

Oavsett hur du installerar uppgraderingsassistenten kan du använda den för att uppgradera dina .NET Aspire 8.x-projekt till .NET Aspire 9.0.

Om du vill uppgradera .NET Aspire appvärdprojektet till .NET Aspire 9.0 med Visual Studiohögerklickar du på projektet i Solution Explorer och väljer Uppgradera.

Viktig

Om Uppgraderingsassistenten inte redan är installerad uppmanas du att installera den.

Uppgraderingsassistenten visar ett välkomstpaket. Välj alternativet Aspire uppgraderingar:

Visual Studio: Välkomstsida för uppgraderingsassistenten med .NET Aspire applikationshost-projekt.

Med alternativet Aspire uppgraderingar valt visar Uppgraderingsassistenten de valbara uppgraderingsmålkomponenterna. Låt alla alternativ vara markerade och välj Uppgraderingsval:

Visual Studio: Uppgraderingsassistenten .NET Aspire valbara komponenter att uppgradera.

När du har valt de komponenter som ska uppgraderas visar uppgraderingsassistenten slutligen resultatet av uppgraderingsprocessen. Om allt lyckades visas gröna bockmarkeringar bredvid varje komponent:

Visual Studio: Uppgraderingsassistenten .NET Aspire appvärdprojektet har uppgraderats framgångsrikt.

Om du vill uppgradera .NET.NET Aspire appvärdprojektet, se till att du har installerat Uppgraderingsassistentens CLI. Öppna en terminalsession i rotkatalogen för .NET.NET Aspire programvärdprojektfilen och kör följande kommando:

upgrade-assistant upgrade

Utdata är interaktiva och du förväntas välja uppgraderingstyp. Välj alternativet Aspire uppgradering:

 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

Använd tangentbordet för att navigera upp eller nedåt och välj alternativet Aspire uppgraderingar. Uppgraderingsassistenten uppmanar till slutlig bekräftelse. Ange Y- för att fortsätta med uppgraderingen:

 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):

När uppgraderingsprocessen är klar visar uppgraderingsassistenten slutligen resultatet av uppgraderingsprocessen:

Finalizing operation...
Complete: 3 succeeded, 0 failed, 7 skipped.

Uppdatera NuGet-paketen

Om du vill dra nytta av de senaste uppdateringarna i din .NET.NET Aspire-lösning uppdaterar du alla NuGet-paket till version 9.0.0.

Om du vill uppdatera appvärdprojektet använder du följande cli-kommando .NET för att uppdatera Aspire.Hosting.AppHost-paketet till version 9.0.0:

dotnet add package Aspire.Hosting.AppHost --version 9.0.0

När det redan finns en paketreferens uppdaterar kommandot dotnet add package referensen till den angivna versionen. Mer information finns i dotnet add package.

När appvärdprojektet har uppdaterats bör projektfilen se ut så här:

<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.0.0" />
  </ItemGroup>

</Project>

Tips

Du vill också uppdatera NuGet-paketen i dina andra projekt till de senaste versionerna.

Verifiera uppgraderingen

Precis som med alla uppgraderingar kontrollerar du att appen körs som förväntat och att alla tester godkänns. Skapa lösningen och leta efter förslag, varningar eller fel i utdatafönstret – åtgärda allt som inte var ett problem tidigare. Om du stöter på problem kan du meddela oss genom att rapportera ett GitHub ärende.