Sdílet prostřednictvím


Aktualizace na .NET.NET Aspire 9.0

.NET .NET Aspire 9.0 je nyní obecně dostupná. V tomto článku se dozvíte, jak aktualizovat stávající projekty .NET Aspire 8.x na .NET Aspire 9.0. Existuje několik způsobů, jak aktualizovat vaše projekty na verzi .NET.NET Aspire 9.0:

  • Ručně upgradujte projekty na .NET.NET Aspire 9.0.
  • Pomocí nástroje Upgrade Assistant upgradujte projekty na .NET.NET Aspire 9.0.

Spropitné

Pokud s .NET.NET Aspirezačínáte, není důvod nic upgradovat. Další informace naleznete v tématu .NET.NET Aspire nastavení a nástroje.

Požadavky

Před upgradem projektů na .NET.NET Aspire 9.0 se ujistěte, že máte následující požadavky:

Poznámka

Nebojte se odinstalovat .NET.NET Aspire úlohu, protože ji už nebudete potřebovat.

dotnet workload uninstall aspire

Další informace viz dotnet workload odinstalace.

Pokud úlohu .NET.NET Aspire neodinstalujete a používáte novou sadu .NET.NET Aspire SDK a šablony, uvidíte šablony .NET Aspire 8.0 i .NET Aspire 9.0.

Ruční upgrade na .NET.NET Aspire 9.0

Pokud chcete projekty upgradovat na .NET.NET Aspire 9.0, musíte aktualizovat soubory projektu. Následující kroky vás provedou procesem:

  • Upravte projektový soubor hostitele aplikace tak, aby používal SDK verzi 9.0 .NET.NET Aspire (Aspire.AppHost.Sdk).
  • Aktualizujte balíčky NuGet v souborech projektu na nejnovější verze.
  • Upravte soubor Program.cs tak, aby používal nová rozhraní API, a odeberte všechna zastaralá rozhraní API.

Úprava souboru projektu hostitele aplikace

Pokud chcete upgradovat projekt hostitele aplikace na .NET.NET Aspire 9.0, musíte aktualizovat soubor projektu tak, aby používal nový 📦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>

Volitelně upgradujte moniker cílového frameworku (TFM)

.NET Aspire 9.0 běží na .NET 9.0, ale můžete ho spustit také na .NET 8.0. Jinými slovy, jenom proto, že používáte sadu .NET Aspire SDK a odkazujete na balíčky verze 9.0, můžete stále cílit na .NET 8.0. Pokud chcete spustit projekt .NET Aspire 9.0 na .NET 9.0, musíte aktualizovat vlastnost TargetFramework v souboru 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>

Další informace o TFM naleznete v tématu Cílové architektury v projektech ve stylu sady SDK: Nejnovější verze.

Celkové rozdíly mezi projektem hostitele aplikace

Pokud jste postupovali podle všech předchozích kroků, soubor projektu hostitele aplikace by měl vypadat takto:

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

Změny zahrnují přidání Aspire.AppHost.Sdk, aktualizaci vlastnosti TargetFramework na net9.0a aktualizaci balíčku Aspire.Hosting.AppHost na verzi 9.0.0.

Upravte soubor Program.cs

Při zavedení .NET.NET Aspire 9.0 existují některé změny narušující kompatibilitu. Některá rozhraní API byla původně označena jako experimentální (s ExperimentalAttribute) a nyní se odeberou, zatímco jiná rozhraní API jsou teď přiřazovat jako ObsoleteAttribute s podrobnostmi o nových náhradních rozhraních API. Musíte upravit soubor Program.cs (a případně další dotčená rozhraní API) k použití nových rozhraní API. Pokud k upgradu projektů používáte Pomocníka pro upgrade, ve většině případů automaticky upraví váš Program.cs soubor.

Úplný seznam zásadních změn v .NET.NET Aspire 9.0 naleznete v tématu Zásadní změny v .NET.NET Aspire 9.0.

Použití Pomocníka pro upgrade

Pomocník pro upgrade je nástroj, který pomáhá upgradovat cílené projekty na nejnovější verzi. Pokud s Pomocníkem pro upgrade ještě začínáte, můžete si vybrat ze dvou způsobů:

Bez ohledu na instalaci Pomocníka pro upgrade ho můžete použít k upgradu projektů .NET Aspire 8.x na .NET Aspire 9.0.

Pokud chcete upgradovat projekt hostitele aplikace .NET Aspire na .NET Aspire 9.0 pomocí Visual Studio, klikněte pravým tlačítkem myši na projekt v Průzkumníka řešení a vyberte Aktualizovat.

Důležitý

Pokud pomocník s upgradem ještě není nainstalovaný, zobrazí se výzva k jeho instalaci.

Pomocník pro upgrade zobrazí uvítací balíček. Vyberte možnost upgradu Aspire:

Visual Studio: Úvodní stránka Pomocníka s upgradem s hostitelským projektem aplikace .NET Aspire

Když je vybrána možnost upgradu Aspire, Asistent pro upgrade zobrazí možné cílové komponenty pro upgrade. Nechejte zaškrtnuté všechny možnosti a vyberte Vylepšit výběr:

Visual Studio: Pomocník s upgradem .NET Aspire volitelných komponent pro upgrade.

Nakonec po výběru součástí, které se mají upgradovat, zobrazí Pomocník pro upgrade výsledky procesu upgradu. Pokud vše proběhlo úspěšně, zobrazí se vedle každé komponenty zelené značky zaškrtnutí:

Visual Studio: Upgrade Assistant .NET Aspire hostitelský projekt byl úspěšně upgradován.

Pokud chcete upgradovat projekt hostitele aplikace .NET.NET Aspire, ujistěte se, že jste nainstalovali rozhraní příkazového řádku Pomocníka pro upgrade. Otevřete terminálovou relaci v kořenovém adresáři souboru projektu hostitele aplikace .NET.NET Aspire, a spusťte následující příkaz:

upgrade-assistant upgrade

Výstup je interaktivní a očekává se, že vyberete typ upgradu. Zvolte možnost Aspire upgradů:

 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

Pomocí klávesnice se můžete pohybovat nahoru nebo dolů a vybrat možnost upgradu Aspire. Pomocník s upgradem zobrazí výzvu k konečnému potvrzení. Pokud chcete pokračovat v upgradu, zadejte Y:

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

Po dokončení procesu upgradu zobrazí Pomocník pro upgrade výsledky procesu upgradu:

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

Aktualizace balíčků NuGet

Pokud chcete využít nejnovější aktualizace v řešení .NET.NET Aspire, aktualizujte všechny balíčky NuGet na verzi 9.0.0.

Pokud chcete aktualizovat projekt hostitele aplikace, pomocí následujícího příkazu rozhraní příkazového řádku .NET aktualizujte balíček Aspire.Hosting.AppHost na verzi 9.0.0:

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

Pokud již odkaz na balíček existuje, příkaz dotnet add package aktualizuje odkaz na zadanou verzi. Pro další informace navštivte dotnet add package.

Když je projekt hostitele aplikace aktualizovaný, měl by soubor projektu vypadat takto:

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

Spropitné

Balíčky NuGet v ostatních projektech budete chtít aktualizovat také na nejnovější verze.

Ověřte upgrade

Stejně jako u jakéhokoli upgradu zajistěte, aby aplikace běžela podle očekávání a aby všechny testy prošly. Sestavte řešení a v okně výstupu vyhledejte návrhy, upozornění nebo chyby – vyřešte všechno, co předtím nebylo problém. Pokud narazíte na nějaké problémy, dejte nám vědět nahlášením GitHub problému.