Atualize projetos Xamarin.Android, Xamarin.iOS e Xamarin.Mac para .NET
Para atualizar seus projetos nativos do Xamarin para .NET, você deve:
- Atualize seu arquivo de projeto para ser no estilo SDK.
- Atualize ou substitua dependências incompatíveis com versões do .NET 8.
- Compile e teste seu aplicativo.
Para a maioria dos projetos, você não precisará alterar namespaces ou realizar outras regravações.
Para simplificar o processo de atualização, recomendamos criar um novo projeto .NET do mesmo tipo e nome do seu projeto nativo do Xamarin e, em seguida, copiar em seu código. Esta é a abordagem descrita abaixo.
Crie um novo projeto
No Visual Studio, crie um novo projeto .NET do mesmo tipo e nome que seu projeto nativo do Xamarin. Por exemplo, para atualizar do Xamarin.Android para o .NET Android, selecione o modelo de projeto Aplicativo Android:
O novo projeto deve receber o mesmo nome de projeto e pacote que o projeto existente e deve ser colocado em uma nova pasta. Abrir o arquivo de projeto confirmará que você tem um projeto no estilo SDK do .NET:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-android</TargetFramework>
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationId>com.companyname.AndroidApp2</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
</PropertyGroup>
</Project>
Importante
O moniker da estrutura de destino (TFM) é o que denota o projeto como usando .NET, neste caso .NET 8. Os TFMs válidos para projetos nativos equivalentes do Xamarin são net8.0-android, net8.0-ios, net8.0-macos e net8.0-tvos. Para obter informações sobre estruturas de destino em projetos de estilo SDK, consulte Estruturas de destino em projetos de estilo SDK.
Inicie o aplicativo para confirmar que seu ambiente de desenvolvimento pode compilá-lo.
Mesclar arquivos
Copie seus arquivos de código e recursos das pastas do seu projeto nativo do Xamarin para pastas idênticas dentro do seu novo aplicativo. Você deve substituir todos os arquivos com o mesmo nome.
Se você tiver outros projetos de biblioteca, você deve adicioná-los à sua nova solução e adicionar referências de projeto a eles do seu novo projeto .NET.
Você também precisará copiar algumas propriedades do projeto do Xamarin nativo para o novo projeto .NET, para configurações como argumentos de compilação condicional e assinatura de código. Abrir os projetos lado a lado em instâncias separadas do Visual Studio permitirá que você compare as propriedades do projeto. Como alternativa, você pode migrar as configurações editando o novo arquivo de projeto diretamente. Para obter mais informações, consulte Migração de projeto Xamarin.Android e Migração de projeto Xamarin Apple.
Atualizar dependências
Geralmente, os pacotes NuGet nativos do Xamarin não são compatíveis com o .NET 8, a menos que tenham sido recompilados usando TFMs do .NET. No entanto, os aplicativos .NET para Android podem usar pacotes NuGet direcionados às monoandroid
estruturas e monoandroidXX.X
.
Você pode confirmar que um pacote é compatível com o .NET 8 observando a guia Estruturas no NuGet para o pacote que você está usando e verificando se ele lista uma das estruturas compatíveis mostradas na tabela a seguir:
Estruturas compatíveis | Estruturas incompatíveis |
---|---|
net8.0-android, monoandroid, monoandroidXX.X | |
net8.0-ios | monotoque, xamarinios, xamarinios10 |
net8.0-macos | monomac, xamarinmac, xamarinmac20 |
net8.0-tvos | xamarintvos |
xamarinwatchos |
Observação
As bibliotecas do .NET Standard que não têm dependências nas estruturas incompatíveis listadas acima ainda são compatíveis com o .NET 8.
Se um pacote no NuGet indicar compatibilidade com qualquer uma das estruturas compatíveis acima, independentemente de também incluir estruturas incompatíveis, o pacote será compatível. Pacotes NuGet compatíveis podem ser adicionados ao seu projeto nativo do .NET usando o gerenciador de pacotes NuGet no Visual Studio.
Se você não conseguir encontrar uma versão compatível com .NET 8 de um pacote NuGet, você deverá:
- Recompile o pacote com .NET TFMs, se você possuir o código.
- Procure uma versão de visualização de uma versão .NET 8 do pacote.
- Substitua a dependência por uma alternativa compatível com .NET 8.
Para obter informações sobre como migrar o código Xamarin.Essentials em um aplicativo .NET Android ou .NET iOS, consulte Migrar código Xamarin.Essentials em aplicativos .NET Android e .NET iOS.
Compilar e solucionar problemas
Depois que suas dependências forem resolvidas e seus arquivos de código e recursos forem adicionados ao seu projeto nativo do .NET, você deverá compilar seu projeto. Quaisquer erros irão guiá-lo para os próximos passos.
Dica
- Exclua todas as pastas bin e obj de todos os projetos antes de abrir e criar projetos no Visual Studio, especialmente ao alterar versões do .NET.
- Exclua o arquivo gerado .cs Resource.designer do projeto Android.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de