Udostępnij za pośrednictwem


Uaktualnianie do wersji .NET.NET Aspire 9.0

.NET .NET Aspire 9.0 jest teraz ogólnie dostępny. W tym artykule dowiesz się, jak zaktualizować istniejące projekty .NET Aspire 8.x do wersji .NET Aspire 9.0. Istnieje kilka sposobów, w jakie możesz zaktualizować swoje projekty do .NET.NET Aspire 9.0:

  • Ręcznie uaktualnij projekty do wersji .NET.NET Aspire 9.0.
  • Użyj asystenta uaktualniania , aby uaktualnić projekty do wersji 9.0.

Napiwek

Jeśli dopiero zaczynasz .NET.NET Aspire, nie ma powodu, aby cokolwiek zmieniać. Aby uzyskać więcej informacji, zobacz .NET.NET Aspire konfigurację i narzędzia.

Warunki wstępne

Przed uaktualnieniem projektów do wersji .NET.NET Aspire 9.0 upewnij się, że masz następujące wymagania wstępne:

Notatka

Możesz odinstalować pakiet .NET.NET Aspire, bo już go nie potrzebujesz.

dotnet workload uninstall aspire

Aby uzyskać więcej informacji, zobacz dotnet workload uninstall.

Jeśli nie odinstalujesz obciążenia .NET.NET Aspire i używasz nowego SDK .NET.NET Aspire oraz szablonów, zobaczysz zarówno szablony .NET Aspire 8.0, jak i .NET Aspire 9.0.

Ręczne uaktualnianie do wersji .NET.NET Aspire 9.0

Aby uaktualnić projekty do wersji .NET.NET Aspire 9.0, należy zaktualizować pliki projektu. Poniższe kroki prowadzą cię przez proces:

  • Edytuj plik projektu hosta aplikacji , aby użyć nowego zestawu SDK 9.0 ().
  • Zaktualizuj pakiety NuGet w plikach projektu do najnowszych wersji.
  • Dostosuj plik Program.cs, aby używać nowych interfejsów API i usuwać wszystkie przestarzałe interfejsy API.

Edytowanie pliku projektu hosta aplikacji

Aby uaktualnić projekt hosta aplikacji do .NET.NET Aspire 9.0, należy zaktualizować plik projektu, aby użyć nowego 📦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>

Opcjonalnie uaktualnij moniker platformy docelowej (TFM)

.NET Aspire 9.0 działa w wersji .NET 9.0, ale można ją również uruchomić w wersji .NET 8.0. Innymi słowy, tylko dlatego, że używasz zestawu SDK .NET Aspire i wskazujesz na pakiety w wersji 9.0, wciąż możesz celować w .NET 8.0. Jeśli chcesz uruchomić projekt .NET Aspire 9.0 w wersji .NET 9.0, musisz zaktualizować właściwość TargetFramework w pliku projektu:

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

Aby uzyskać więcej informacji na temat TFMs, zobacz Platformy docelowe w projektach typu SDK: Najnowsze wersje.

Ogólne różnice projektu hosta aplikacji

Jeśli wykonano wszystkie powyższe kroki, plik projektu hosta aplikacji powinien wyglądać następująco:

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

Zmiany obejmują dodanie Aspire.AppHost.Sdk, aktualizację właściwości TargetFramework na net9.0oraz aktualizację pakietu Aspire.Hosting.AppHost do wersji 9.0.0.

Dostosuj swój plik Program.cs

Wraz z wprowadzeniem .NET.NET Aspire 9.0 istnieją pewne zmiany wprowadzające niekompatybilność . Niektóre interfejsy API zostały pierwotnie oznaczone jako eksperymentalne (z ExperimentalAttribute) i są teraz usuwane, podczas gdy inne interfejsy API są teraz przypisywane jako ObsoleteAttribute ze szczegółami dotyczącymi nowych zastępczych interfejsów API. Należy dostosować plik Program.cs (a być może również inne interfejsy API) tak, aby wykorzystywały nowe interfejsy API. Jeśli używasz Asystenta aktualizacji do uaktualniania projektów, automatycznie dostosowuje plik Program.cs w większości przypadków.

Aby uzyskać pełną listę zmian powodujących niezgodność w .NET.NET Aspire 9.0, zobacz Zmiany powodujące niezgodność w .NET.NET Aspire 9.0.

Korzystanie z Asystenta uaktualniania

Asystent Uaktualniania to narzędzie, które pomaga aktualizować projekty docelowe do najnowszej wersji. Jeśli dopiero zaczynasz korzystać z Asystenta uaktualniania, dostępne są dwa sposoby wyboru:

Niezależnie od sposobu instalowania Asystenta uaktualniania możesz użyć go do uaktualnienia projektów .NET Aspire 8.x do .NET Aspire 9.0.

Aby zaktualizować projekt hosta aplikacji .NET Aspire do wersji .NET Aspire 9.0 przy użyciu Visual Studio, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz opcję Uaktualnij.

Ważny

Jeśli asystenta uaktualniania nie jest jeszcze zainstalowany, zostanie wyświetlony monit o jego zainstalowanie.

Asystent uaktualniania wyświetla pakiet powitalny. Wybierz opcję uaktualnienia Aspire:

Visual Studio: Strona powitalna Asystenta aktualizacji z projektem hosta aplikacji .NET Aspire.

Po wybraniu opcji Aspire uaktualnień Asystent uaktualniania wyświetla wybrane składniki docelowe uaktualnienia. Pozostaw zaznaczone wszystkie opcje i wybierz pozycję Wybór uaktualnienia:

Visual Studio: Asystent aktualizacji .NET Aspire komponentów możliwych do uaktualnienia.

Na koniec po wybraniu składników do uaktualnienia Asystent uaktualnienia wyświetli wyniki procesu uaktualniania. Jeśli wszystko zakończyło się pomyślnie, obok każdego składnika zobaczysz zielone znaczniki wyboru:

Visual Studio: Projekt hosta aplikacji uaktualniono pomyślnie za pomocą Asystenta Uaktualnień .NET Aspire.

Aby uaktualnić projekt hosta aplikacji .NET.NET Aspire, upewnij się, że zainstalowano interfejs wiersza polecenia Asystenta uaktualniania. Otwórz sesję terminalu w katalogu głównym pliku projektu hosta aplikacji .NET.NET Aspire i uruchom następujące polecenie:

upgrade-assistant upgrade

Wynik jest interaktywny, oczekuje wyboru typu aktualizacji. Wybierz opcję Aspire uaktualnienia:

 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

Użyj klawiatury, aby poruszać się w górę lub w dół , a następnie wybierz opcję uaktualnienia Aspire. Asystent uaktualniania monituje o ostateczne potwierdzenie. Wprowadź Y, aby kontynuować uaktualnianie:

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

Na koniec po zakończeniu procesu uaktualniania Asystent uaktualniania wyświetli wyniki procesu uaktualniania:

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

Aktualizowanie pakietów NuGet

Aby skorzystać z najnowszych aktualizacji rozwiązania .NET.NET Aspire, zaktualizuj wszystkie pakiety NuGet do wersji 9.0.0.

Aby zaktualizować projekt hosta aplikacji, użyj następującego polecenia CLI .NET, aby zaktualizować pakiet Aspire.Hosting.AppHost do wersji 9.0.0:

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

Gdy odwołanie do pakietu już istnieje, polecenie dotnet add package aktualizuje odwołanie do określonej wersji. Aby uzyskać więcej informacji, zobacz dotnet add package.

Po zaktualizowaniu projektu hosta aplikacji plik projektu powinien wyglądać następująco:

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

Napiwek

Należy również zaktualizować pakiety NuGet w innych projektach do najnowszych wersji.

Weryfikowanie uaktualnienia

Podobnie jak w przypadku każdego uaktualnienia, upewnij się, że aplikacja działa zgodnie z oczekiwaniami i że wszystkie testy przechodzą pomyślnie. Skompiluj rozwiązanie i poszukaj sugestii, ostrzeżeń lub błędów w oknie danych wyjściowych — rozwiąż problem, który wcześniej nie był problemem. Jeśli wystąpią jakiekolwiek problemy, poinformuj nas, składając zgłoszenie GitHub problemu.