Condividi tramite


Aggiorna a .NET.NET Aspire 9.0

.NET .NET Aspire 9.0 è ora disponibile a livello generale. In questo articolo vengono illustrati i passaggi necessari per aggiornare i progetti esistenti .NET Aspire 8.x a .NET Aspire 9.0. Esistono alcuni modi in cui è possibile aggiornare i progetti a .NET.NET Aspire 9.0:

  • Aggiornare manualmente i progetti a .NET.NET Aspire 9.0.
  • Usare l'Assistente di aggiornamento per aggiornare i progetti a .NET.NET Aspire 9.0.

Consiglio

Se non si ha familiarità con .NET.NET Aspire, non esiste alcun motivo per eseguire l'aggiornamento. Per altre informazioni, vedere .NET.NET Aspire configurazione e strumenti.

Prerequisiti

Prima di aggiornare i progetti a .NET.NET Aspire 9.0, assicurarsi di disporre dei prerequisiti seguenti:

Nota

È possibile disinstallare il carico di lavoro .NET.NET Aspire perché non sarà più necessario.

dotnet workload uninstall aspire

Per altre informazioni, vedere disinstallazione del carico di lavoro dotnet.

Se non si disinstalla il workload .NET.NET Aspire e stai utilizzando il nuovo .NET.NET Aspire SDK e modelli, vengono visualizzati entrambi i modelli .NET Aspire 8.0 e .NET Aspire 9.0.

Eseguire manualmente l'aggiornamento a .NET.NET Aspire 9.0

Per aggiornare i progetti a .NET.NET Aspire 9.0, è necessario aggiornare i file di progetto. I passaggi seguenti illustrano il processo:

  • Modifica il file di progetto dell'host dell'app per utilizzare il nuovo SDK .NET.NET Aspire 9.0 (Aspire.AppHost.Sdk).
  • Aggiornare i pacchetti NuGet nei file di progetto alle versioni più recenti.
  • Modificare il file Program.cs per usare le nuove API e rimuovere eventuali API obsolete.

Modificare il file di progetto host dell'app

Per aggiornare il progetto host dell'app a .NET.NET Aspire 9.0, è necessario aggiornare il file di progetto per usare il nuovo 📦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>

Opzionalmente, aggiornare il moniker del framework di destinazione (TFM)

.NET Aspire 9.0 viene eseguito in .NET 9.0, ma è anche possibile eseguirlo in .NET 8.0. In altre parole, anche se si utilizza l'SDK .NET Aspire e si specificano i pacchetti della versione 9.0, è comunque possibile mirare a .NET 8.0. Se si vuole eseguire il progetto .NET Aspire 9.0 in .NET 9.0, è necessario aggiornare la proprietà TargetFramework nel file di progetto:

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

Per altre informazioni sui TFM, vedere Framework di destinazione nei progetti in stile SDK: versioni più recenti.

Differenze generali del progetto host dell'app

Se sono stati seguiti tutti i passaggi precedenti, il file di progetto host dell'app sarà simile al seguente:

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

Le modifiche includono l'aggiunta del Aspire.AppHost.Sdk, l'aggiornamento della proprietà TargetFramework a net9.0e l'aggiornamento del pacchetto Aspire.Hosting.AppHost alla versione 9.0.0.

Modificare il file di Program.cs

Con l'introduzione di .NET.NET Aspire 9.0, ci sono alcune modifiche che interrompono la compatibilità . Alcune API sono state originariamente contrassegnate come sperimentali (con il ExperimentalAttribute) e ora vengono rimosse, mentre altre API sono ora attribuite come ObsoleteAttribute con i dettagli sulle nuove API sostitutive. È necessario modificare il file di Program.cs (e potenzialmente altre API interessate) per usare le nuove API. Se stai utilizzando l'Assistente di aggiornamento per aggiornare i progetti, il file Program.cs viene modificato automaticamente nella maggior parte dei casi.

Per l'elenco completo delle modifiche sostanziali in .NET.NET Aspire 9.0, consultare Cambiamenti significativi in .NET.NET Aspire 9.0.

Usare l'Assistente di aggiornamento

L'Assistente aggiornamento è uno strumento che consente di aggiornare i progetti mirati alla versione più recente. Se non conosci l'Assistente all'Aggiornamento, ci sono due modalità tra cui scegliere.

Indipendentemente dalla modalità di installazione dell'Assistente aggiornamento, è possibile usarlo per aggiornare i progetti .NET Aspire 8.x a .NET Aspire 9.0.

Per aggiornare il progetto host dell'app .NET Aspire a .NET Aspire 9.0 con Visual Studio, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e selezionare Aggiorna .

Importante

Se l'Upgrade Assistant non è già installato, ti verrà richiesto di installarlo.

L'assistente di aggiornamento mostra un kit di benvenuto. Selezionare l'opzione aggiornamenti Aspire:

Visual Studio: pagina iniziale dell'Assistente di Aggiornamento con .NET Aspire progetto host dell'applicazione.

Con l'opzione di aggiornamenti Aspire selezionata, l'Assistente di aggiornamento visualizza i componenti di destinazione per l'aggiornamento selezionabili. Lascia selezionate tutte le opzioni e seleziona Aggiorna selezione:

Visual Studio: Assistente aggiornamento .NET Aspire componenti selezionabili da aggiornare.

Infine, dopo aver selezionato i componenti da aggiornare, Assistente aggiornamento visualizza i risultati del processo di aggiornamento. Se tutto ha esito positivo, accanto a ogni componente vengono visualizzati i segni di spunta verdi:

Visual Studio: Assistant di Aggiornamento .NET Aspire il progetto host per app è stato aggiornato correttamente.

Per aggiornare il progetto host dell'app .NET.NET Aspire, assicura di aver installato l'interfaccia della riga di comando dell'Assistente di aggiornamento. Aprire una sessione del terminale nella directory radice del file di progetto host dell'app .NET.NET Aspire ed eseguire il comando seguente:

upgrade-assistant upgrade

L'output è interattivo, aspettando che tu selezioni il tipo di aggiornamento. Scegli l'opzione aggiornamenti 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

Usare la tastiera per navigare su o giù , e selezionare l'opzione aggiornamenti Aspire. L'Assistente di aggiornamento richiede la conferma finale. Immettere Y per continuare con l'aggiornamento:

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

Infine, al termine del processo di aggiornamento, Assistente aggiornamento visualizza i risultati del processo di aggiornamento:

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

Aggiornare i pacchetti NuGet

Per sfruttare i vantaggi degli aggiornamenti più recenti nella soluzione .NET.NET Aspire, aggiornare tutti i pacchetti NuGet alla versione 9.0.0.

Per aggiornare il progetto host dell'app, utilizzare il seguente comando CLI di .NET per aggiornare il pacchetto Aspire.Hosting.AppHost alla versione 9.0.0:

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

Quando esiste già un riferimento al pacchetto, il comando dotnet add package aggiorna il riferimento alla versione specificata. Per altre informazioni, vedere dotnet add package.

Con l'aggiornamento del progetto host dell'app, il file di progetto dovrebbe essere simile al seguente:

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

Consiglio

È anche necessario aggiornare i pacchetti NuGet negli altri progetti alle versioni più recenti.

Verificare l'aggiornamento

Come per qualsiasi aggiornamento, assicurarsi che l'app funzioni come previsto e che tutti i test vengano superati. Compilare la soluzione e cercare suggerimenti, avvisi o errori nella finestra di output—rivolgersi a qualsiasi problema che non fosse presente prima. Se si verificano problemi, fatecelo sapere creando un problema di GitHub.