Atualize para a versão .NET.NET Aspire 9.0
.NET .NET Aspire 9.0 agora está disponível em geral. Neste artigo, você aprenderá as etapas envolvidas na atualização de seus projetos existentes .NET Aspire 8.x para .NET Aspire 9.0. Há algumas maneiras pelas quais você pode atualizar seus projetos para .NET.NET Aspire 9.0:
- Atualize manualmente seus projetos para .NET.NET Aspire 9.0.
- Use o do Assistente de Atualização
para atualizar seus projetos para 9.0.
Dica
Se você não estiver familiarizado com .NET.NET Aspire, não haverá motivo para atualizar nada. Para obter mais informações, consulte .NET.NET Aspire configuração e ferramentas.
Pré-requisitos
Antes de atualizar seus projetos para .NET.NET Aspire 9.0, verifique se você tem os seguintes pré-requisitos:
- Instale asferramentas mais recentes.
- usar o SDK .NET.NET Aspire.
Nota
Fique à vontade para desinstalar a carga de trabalho .NET.NET Aspire, pois você não precisará mais dela.
dotnet workload uninstall aspire
Para obter mais informações, consulte dotnet workload uninstall.
Se você não desinstalar a carga de trabalho .NET.NET Aspire e estiver usando o novo SDK .NET.NET Aspire e os modelos, você verá ambos os modelos .NET Aspire 8.0 e .NET Aspire 9.0.
Atualizar manualmente para o .NET.NET Aspire 9.0
Para atualizar seus projetos para o .NET.NET Aspire 9.0, você precisa atualizar seus arquivos de projeto. As etapas a seguir orientam você durante o processo:
- Edite o arquivo de projeto do host do aplicativo para usar o novo SDK 9.0 do .NET.NET Aspire (
Aspire.AppHost.Sdk
). - Atualize os pacotes NuGet em seus arquivos de projeto para as versões mais recentes.
- Ajuste o arquivo Program.cs para usar as novas APIs e remover as APIs obsoletas.
Editar o arquivo de projeto do host do aplicativo
Para atualizar o projeto de host do aplicativo para .NET.NET Aspire 9.0, você precisa atualizar o arquivo de projeto para passar a usar o novo 📦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>
Caso deseje, atualize o nome do framework de destino (TFM)
.NET Aspire 9.0 é executado no .NET 9.0, mas você também pode executá-lo no .NET 8.0. Em outras palavras, só porque você está usando o SDK do .NET Aspire e apontando para pacotes da versão 9.0, ainda é possível almejar o .NET 8.0. Se você quiser executar seu projeto .NET Aspire 9.0 no .NET 9.0, será necessário atualizar a propriedade TargetFramework
no arquivo de projeto:
<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>
Para obter mais informações sobre TFMs, consulte Estruturas de destino em projetos no estilo SDK: versões mais recentes.
Diferenças gerais no projeto do anfitrião do aplicativo
Se você seguiu todas as etapas anteriores, o arquivo de projeto do host do aplicativo deverá ter esta aparência:
<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>
As alterações incluem a adição do Aspire.AppHost.Sdk
, a atualização da propriedade TargetFramework
para net9.0
e a atualização do pacote Aspire.Hosting.AppHost
à versão 9.0.0
.
Ajustar seu arquivo de Program.cs
Com a introdução do .NET.NET Aspire 9.0, há algumas mudanças significativas. Algumas APIs foram originalmente marcadas como experimentais (com o ExperimentalAttribute) e agora são removidas, enquanto outras APIs agora são atribuídas como ObsoleteAttribute com detalhes sobre novas APIs de substituição. Você precisa ajustar seu arquivo de Program.cs (e potencialmente outras APIs afetadas) para usar as novas APIs. Se você estiver usando o Assistente de Atualização para atualizar seus projetos, ele ajustará automaticamente seu arquivo Program.cs na maioria dos casos.
Para obter a lista completa de alterações de ruptura no .NET.NET Aspire 9.0, consulte Alterações de ruptura no .NET.NET Aspire 9.0.
Usar o Assistente de Atualização
O Assistente de Atualização é uma ferramenta que ajuda a atualizar projetos direcionados para a versão mais recente. Se você não estiver familiarizado com o Assistente de Atualização, há duas modalidades para escolher:
- Versãoda extensão
. - a versão da ferramenta global da CLI .NET.
Independentemente de como você instala o Assistente de Atualização, você pode usá-lo para atualizar seus projetos .NET Aspire 8.x para .NET Aspire 9.0.
Para atualizar o projeto de host do aplicativo .NET Aspire para .NET Aspire 9.0 com Visual Studio, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Atualizar.
Importante
Se o Assistente de Atualização ainda não estiver instalado, você será solicitado a instalá-lo.
O Assistente de Atualização exibe um pacote de boas-vindas. Selecione a opção Aspire de atualizações:
Com a opção de atualizações Aspire selecionada, o Assistente de Atualização mostra os alvos de atualização selecionáveis. Deixe todas as opções marcadas e selecione Atualizar seleção:
Por fim, depois de selecionar os componentes a serem atualizados, o Assistente de Atualização exibirá os resultados do processo de atualização. Se tudo der certo, você verá marcas verdes ao lado de cada componente.
Para atualizar o projeto de host do aplicativo .NET.NET Aspire, verifique se você instalou a CLI do Assistente de Atualização. Abra uma sessão de terminal no diretório raiz do arquivo de projeto do host do aplicativo .NET.NET Aspire e execute o seguinte comando:
upgrade-assistant upgrade
A saída é interativa, esperando que você selecione o tipo de atualização. Escolha a opção de atualizações 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
Use o teclado para navegar para cima ↑ ou para baixo ↓, e selecione a opção de upgrades Aspire. O Assistente de Atualização solicita a confirmação final. Insira Y para continuar com a atualização:
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):
Por fim, após a conclusão do processo de atualização, o Assistente de Atualização exibirá os resultados do processo de atualização:
Finalizing operation...
Complete: 3 succeeded, 0 failed, 7 skipped.
Atualizar os pacotes NuGet
Para aproveitar as atualizações mais recentes em sua solução de .NET.NET Aspire, atualize todos os pacotes NuGet para a versão 9.0.0
.
Para atualizar o projeto de host do aplicativo, use o seguinte comando da CLI .NET para atualizar o pacote Aspire.Hosting.AppHost
para a versão 9.0.0
:
dotnet add package Aspire.Hosting.AppHost --version 9.0.0
Quando já existe uma referência de pacote, o comando dotnet add package
atualiza a referência à versão especificada. Para obter mais informações, consulte o comando dotnet add package.
Com o projeto de host do aplicativo atualizado, seu arquivo de projeto deve ter esta aparência:
<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>
Dica
Você também desejará atualizar os pacotes NuGet em seus outros projetos para as versões mais recentes.
Verificar a atualização
Assim como acontece com qualquer atualização, verifique se o aplicativo é executado conforme o esperado e que todos os testes sejam aprovados. Crie a solução e procure sugestões, avisos ou erros na janela de saída— resolva qualquer coisa que não fosse um problema antes. Se você encontrar problemas, informe-nos arquivando um problema GitHub.