Suporte para Xamarin.forms terminou em 1º de maio de 2024, conforme a Política de Apoio a Xamarin:
O suporte ao Xamarin terminou em 1 de maio de 2024 para todos os SDKs Xamarin, incluindo Xamarin.forms.
Xamarin.forms foi sucedido pelo .NET Maui em maio de 2022 como parte do .NET 6 e atualmente é apoiado conforme descrito na Política de Apoio .NET Maui. Siga a orientação oficial de atualização para levar seus aplicativos Xamarin para a versão mais recente do .NET.
A todos os nossos desenvolvedores e colaboradores, muito obrigado por fazer parte da nossa comunidade Xamarin. Nos vemos em .Net Maui!
O Xamarin.Forms fornece uma maneira de criar rapidamente aplicativos nativos para iOS, Android, Windows e MacOS, completamente em C#.
Leia mais sobre a plataforma em https://www.xamarin.com/forms.
| Plataforma/recurso | Nome do pacote | Estável | Pré -lançamento | Alimentação noturna Azure (ramo principal) |
|---|---|---|---|---|
| Essencial | Xamarin.Forms | |||
| Applinks | Xamarin.Forms.AppLinks | |||
| Mapas | Xamarin.Forms.Maps | |||
| Maps.gtk | Xamarin.Forms.Maps.GTK | |||
| Maps.wpf | Xamarin.Forms.Maps.WPF | |||
| Páginas | Xamarin.Forms.Pages | |||
| Páginas. Azure | Xamarin.Forms.Pages.Azure | |||
| Platform.gtk | Xamarin.Forms.Platform.GTK | |||
| Platform.wpf | Xamarin.Forms.Platform.WPF | |||
| Visual.material | Xamarin.Forms.Visual.Material |
Se você deseja usar a construção mais recente do Dev, deve ler esta postagem do blog:
Adicione o feed noturno às fontes do Nuget ou adicione um NUGET.CONFIG ao seu aplicativo (colocando -o no mesmo diretório em que seu arquivo de solução) com o seguinte conteúdo:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< configuration >
< packageSources >
< clear />
< add key = " xamarin-ci " value = " https://aka.ms/xf-nightly/index.json " />
< add key = " NuGet.org " value = " https://api.nuget.org/v3/index.json " />
</ packageSources >
</ configuration >NOTA: Este nuget.config deve estar com seu aplicativo, a menos que você queira que os pacotes noturnos comecem a ser restaurados para outros aplicativos na máquina.
Altere as dependências do seu aplicativo para ter um * para obter a versão mais recente.
Para ambos os métodos abaixo, você precisará adicionar este feed Nuget para que a construção tenha sucesso. Veja esta página de documentação para descobrir como.
VS 2019+ é necessário para o desenvolvimento de xamarin.forms. Se você ainda não o possui, pode baixá -lo aqui. VS 2019+ Comunidade é totalmente gratuita. Se você estiver instalando o VS 2019+ pela primeira vez, selecione o tipo de instalação "personalizado" e selecione o seguinte na lista de recursos para instalar:
Individual Components > .NET > .NET Framework 4.6.1 SDK, .NET Framework 4.6.1 targeting pack, .NET Framework 4.7.2 SDK, .NET Framework 4.7.2 targeting pack .Individual Components > SDKs, libraries, and frameworks > Windows 10 SDK (10.0.19041.0), Windows 10 SDK (10.0.18362.0), Windows 10 SDK (10.0.16299.0) .Individual Components > Development Activities > Xamarin Remoted SimulatorIndividual Components > Emulators > Hyper-V Intel Hardware Accelerated Execution Manager (HAXM)A API Android 10.0 API 29 SDK e Android 9.0 API 28 SDK são necessários para o desenvolvimento de xamarin.forms. Eles podem ser instalados usando o Xamarin Android SDK Manager.
Também recomendamos a instalação do Xamarin Android Device Manager. Isso usará as ferramentas Haxm instaladas acima e permitirá que você configure dispositivos virtuais Android (AVDs) que imitam dispositivos Android. Se você já possui o VS 2019+ instalado, pode verificar se esses recursos são instalados modificando a instalação do VS 2019+ através do instalador do Visual Studio.
Se você estiver recebendo erros sobre os SDKs ausentes, poderá executar nosso script de provisionamento. Observe que pode levar algum tempo para executar todo o script. Para entender melhor como o script funciona, sinta -se à vontade para conferir nosso arquivo Build.Cake.
Em cmd
build.cmd -Target provision
Em PowerShell
./build.ps1 -Target provision
NOTA: Se você encontrar um erro dizendo Build.PS1 não será assinado digitalmente, abra o PowerShell como administrador e resolva executando Set-ExecutionPolicy RemoteSigned primeiro.
Em CMD/PowerShell/sh (novo! Mais informações aqui)
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Se você ainda não o possui, as instruções para baixar e a configuração podem ser encontradas aqui.
Devido às limitações atuais de várias alças com o Visual Studio para Mac, você precisará criar/restaurar manualmente alguns projetos antes de poder trabalhar na solução de formulários Xamarin.
Aqui estão algumas opções diferentes que montamos para ajudar a facilitar esse processo
Filas 3.5+ vêm com um alvo de script de bolo que você pode usar para construir e abrir o VSMAC
./build.sh --target vsmacOu como mencionado acima na seção Windows sobre provisionamento, você também pode usar o novo bolo.tool
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Ao trabalhar em uma filial anterior que não possui scripts de bolo, você pode usar o seguinte script de compilação.sh
Se você não quiser executar scripts:
msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csprojXamarin.Forms.Build.Tasks.csproj Ao abrir a solução Xamarin.forms, você descobrirá que existem vários erros e avisos no painel da lista de erros; Você pode resolver isso alterando o filtro do Build + IntelliSense Build Only . Neste ponto, você poderá construir com êxito a solução.
Por padrão, o projeto Xamarin.Forms.Controls não possui uma configuração para várias teclas da API acessar determinados recursos em cada plataforma (por exemplo, mapas). Ao construir a solução pela primeira vez, um arquivo controlgallery.config será gerado dentro desse projeto, que se parece com o seguinte:
UWPMapsAuthKey:
Se você não está trabalhando com mapas, pode ignorar isso. Se você deseja trabalhar com mapas, precisará obter suas próprias teclas de API para cada um desses serviços, inserido diretamente após o identificador (por exemplo, UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz ). Você pode descobrir como obter cada um deles da seguinte maneira:
UWPMapsAuthKey em https://microsoft.com/maps/create-bing-maps-key.aspx Devido à maneira como o Android funciona, a chave da API do MAPS não pode ser injetada em tempo de execução. Como resultado, você precisará adicionar essa chave ao arquivo MapsKey.cs em Xamarin.Forms.ControlGallery.Android/Properties :
[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
Você pode descobrir como obter uma chave da API do Google Maps aqui.
Certifique -se de ter NuGet.exe 4.0 ou acima e o mais recente .NET Core SDK. No macOS, você deve especificar a plataforma no comando msbuild ( /p:Platform=iPhoneSimulator )
msbuild /restore Xamarin.Forms.sln
Dependendo da configuração do seu ambiente, pode ser necessário configurar algumas coisas antes de poder depurar / executar testes de interface do usuário, especialmente no Windows.
Xamarin.Forms.ControlGallery.Android . A maneira mais fácil de fazer isso é clicar com o botão direito do mouse no projeto e selecionar "implantar". Observe que, se você reconstruir a solução, poderá perder o APK e precisará gerá -la novamente.Depois que essas medidas são resolvidas, você deve estar pronto. Você pode ver todos os testes de interface do usuário no Test Explorer, pesquisá -los por sua própria conveniência e executar rapidamente testes individuais.
Para executar os testes de interface do usuário do UWP:
Xamarin.Forms.ControlGallery.WindowsUniversal para instalar o aplicativo ControlGallery no seu sistema.Agora você deve ser capaz de executar qualquer um dos testes da UI UWP.
Seguimos o estilo usado pela fundação .NET, com algumas exceções:
private , pois é o nível de acessibilidade padrão em C#.Tools > Options e navegar para Text Editor > C# e selecionar a opção Radio "Keep Tabs". No Visual Studio para Mac, é definido por preferências no Source Code > Code Formatting > C# source code e desativando a caixa de seleção para Convert tabs to spaces .Source Code > Code Formatting > C# source code e alterando a Desired file width para 120 . Usamos problemas do GitHub para rastrear problemas. Se possível, envie uma reprodução do seu bug junto com seu relatório de bug.