Soporte para Xamarin.Forms terminó el 1 de mayo de 2024 según la política de soporte de Xamarin:
El soporte de Xamarin terminó el 1 de mayo de 2024 para todos los SDK de Xamarin, incluidos Xamarin.Forms.
Xamarin.Forms fue sucedido por .NET Maui en mayo de 2022 como parte de .NET 6, y actualmente se admite como se describe en la Política de soporte de .NET MAUI. Siga la guía oficial de actualización para llevar sus aplicaciones Xamarin a la última versión de .NET.
A todos nuestros desarrolladores y contribuyentes, muchas gracias por ser parte de nuestra comunidad de Xamarin. ¡Nos vemos todos en .NET Maui!
Xamarin.Forms proporciona una forma de construir rápidamente aplicaciones nativas para iOS, Android, Windows y macOS, completamente en C#.
Lea más sobre la plataforma en https://www.xamarin.com/forms.
| Plataforma/función | Nombre del paquete | Estable | Prevenimiento | Azure de alimentación nocturna (rama principal) |
|---|---|---|---|---|
| Centro | Xamarin.Forms | |||
| Aplicados | 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. | Xamarin.Forms.Pages.Azure | |||
| Plataforma.gtk | Xamarin.Forms.Platform.GTK | |||
| Plataforma.wpf | Xamarin.Forms.Platform.WPF | |||
| Visual.material | Xamarin.Forms.Visual.Material |
Si desea usar la última compilación de desarrollo, debe leer esta publicación de blog:
Agregue el feed nocturno a sus fuentes Nuget o agregue un nuget.config a su aplicación (colocándolo en el mismo directorio donde está su archivo de solución) con el siguiente contenido:
<? 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 debe estar con su aplicación a menos que desee que los paquetes nocturnos potencialmente comiencen a ser restaurado para otras aplicaciones en la máquina.
Cambie las dependencias de su aplicación para tener un * para obtener la última versión.
Para ambos métodos debajo, tendrá que agregar esta alimentación nuget para que la construcción tenga éxito. Vea esta página de documentación para averiguar cómo.
VS 2019+ es necesario para desarrollar Xamarin.Forms. Si aún no lo tiene instalado, puede descargarlo aquí. VS 2019+ La comunidad es completamente gratuita. Si está instalando VS 2019+ por primera vez, seleccione el tipo de instalación "personalizado" y seleccione lo siguiente de la lista de características 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)Se requiere el API 29 SDK y Android 9.0 API 28 SDK 28 API 28 de Android 9.0 para desarrollar Xamarin.Forms. Se pueden instalar utilizando el administrador SDK de Xamarin Android.
También recomendamos instalar Xamarin Android Device Manager. Esto utilizará las herramientas HAXM instaladas anteriormente y le permitirá configurar dispositivos virtuales de Android (AVD) que emulan dispositivos Android. Si ya tiene VS 2019+ instalado, puede verificar que estas características se instalen modificando la instalación VS 2019+ a través del instalador de Visual Studio.
Si está recibiendo errores sobre los SDK faltantes, puede ejecutar nuestro script de aprovisionamiento. Tenga en cuenta que puede tomar algún tiempo ejecutar todo el script. Para comprender mejor cómo funciona el script, no dude en consultar nuestro archivo build.cake.
En CMD
build.cmd -Target provision
En PowerShell
./build.ps1 -Target provision
Nota: Si encuentra un error que dice Build.ps1 no está firmado digitalmente, Abra PowerShell como administrador y resuelva ejecutando Set-ExecutionPolicy RemoteSigned primero.
En cmd/powershell/sh (¡nuevo! Más información aquí)
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Si aún no lo tiene instalado, las instrucciones para descargar y configurar se pueden encontrar aquí.
Debido a las limitaciones múltiples actuales con Visual Studio para Mac, deberá construir/restaurar algunos proyectos manualmente antes de poder trabajar en la solución de formularios Xamarin.
Aquí hay algunas opciones diferentes que hemos reunido para ayudar a facilitar este proceso.
Las ramas 3.5+ vienen con un objetivo de script de pastel que puede usar para construir y abrir VSMAC
./build.sh --target vsmacO como se mencionó anteriormente en la sección de Windows sobre el aprovisionamiento, también puede usar el nuevo pastel.tool
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Al trabajar en una rama anterior que no tiene los scripts de pastel, puede usar el siguiente script build.sh
Si no quieres ejecutar ningún script:
msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csprojXamarin.Forms.Build.Tasks.csproj Al abrir la solución Xamarin.Forms, encontrará que hay una serie de errores y advertencias en el panel de la lista de errores; Puede resolver esto cambiando el filtro de Build + IntelliSense para Build Only . En este punto, debería poder construir con éxito la solución.
De manera predeterminada, el proyecto Xamarin.Forms.Controls no tiene una configuración para varias claves API para acceder a ciertas características en cada plataforma (mapas por ejemplo). Al construir la solución por primera vez, se generará un archivo controlgallery.config dentro de ese proyecto, que se ve así:
UWPMapsAuthKey:
Si no está trabajando con mapas, puede ignorar esto. Si desea trabajar con MAPS, deberá obtener sus propias claves API para cada uno de estos servicios, insertado directamente después del identificador (por ejemplo, UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz ). Puede averiguar cómo obtener cada uno de estos como sigue:
UWPMapsAuthKey en https://microsoft.com/maps/create-a-bing-maps-key.aspx Debido a la forma en que funciona Android, la tecla MAPS API no se puede inyectar en tiempo de ejecución. Como resultado, deberá agregar esta clave al archivo MapsKey.cs en Xamarin.Forms.ControlGallery.Android/Properties :
[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
Puede averiguar cómo obtener una tecla API de Google Maps aquí.
Asegúrese de tener Nuget.exe 4.0 o superior y el último SDK .NET Core. En MacOS, debe especificar la plataforma en el comando msbuild ( /p:Platform=iPhoneSimulator )
msbuild /restore Xamarin.Forms.sln
Dependiendo de la configuración de su entorno, es posible que deba configurar algunas cosas antes de poder depurar / ejecutar pruebas de UI, especialmente en Windows.
Xamarin.Forms.ControlGallery.Android . La forma más fácil de hacerlo es hacer clic derecho en el proyecto y seleccionar "Implementar". Tenga en cuenta que si reconstruye la solución, puede perder el APK y deberá generarla nuevamente.Después de que se cuiden estos pasos, debería estar listo para ir. Puede ver todas las pruebas de interfaz de usuario en Test Explorer, buscarlas en su propia conveniencia y ejecutar rápidamente pruebas individuales.
Para ejecutar las pruebas UWP UI:
Xamarin.Forms.ControlGallery.WindowsUniversal Project para instalar la aplicación Controlgallery en su sistema.Ahora debería poder ejecutar cualquiera de las pruebas UWP UI.
Seguimos el estilo utilizado por .NET Foundation, con algunas excepciones:
private , ya que es el nivel de accesibilidad predeterminado en C#.Tools > Options y navegar al Text Editor > C# y seleccionar la opción de radio "Keep Tabs". En Visual Studio para Mac, se establece mediante preferencias en Source Code > Code Formatting > C# source code y deshabilitando la casilla de verificación para Convert tabs to spaces .Source Code > Code Formatting > C# source code y cambiar el Desired file width a 120 . Utilizamos problemas de GitHub para rastrear problemas. Si es posible, envíe una reproducción de su error junto con su informe de error.