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.0
oraz 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
Asystent uaktualniania wyświetla pakiet powitalny. Wybierz opcję uaktualnienia 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:
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:
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.