Prise en charge de Xamarin.
Le support Xamarin s'est terminé le 1er mai 2024 pour tous les SDK Xamarin, y compris Xamarin.Forms.
Xamarin.Forms a été succédé par .NET MAUI en mai 2022 dans le cadre de .NET 6, et est actuellement pris en charge comme décrit sur la politique de support .NET MAUI. Suivez les conseils de mise à niveau officiels pour amener vos applications Xamarin à la dernière version de .NET.
À tous nos développeurs et contributeurs, merci beaucoup d'avoir fait partie de notre communauté Xamarin. Nous vous verrons partout dans .net Maui!
Xamarin.forms fournit un moyen de créer rapidement des applications natives pour iOS, Android, Windows et MacOS, complètement en C #.
En savoir plus sur la plate-forme sur https://www.xamarin.com/forms.
| Plate-forme / fonctionnalité | Nom de package | Écurie | Présager | Nightly Feed Azure (branche principale) |
|---|---|---|---|---|
| Cœur | Xamarin.Forms | |||
| Appliques | Xamarin.Forms.AppLinks | |||
| Cartes | Xamarin.Forms.Maps | |||
| Maps.gtk | Xamarin.Forms.Maps.GTK | |||
| Maps.wpf | Xamarin.Forms.Maps.WPF | |||
| Pages | Xamarin.Forms.Pages | |||
| Pages.Azure | Xamarin.Forms.Pages.Azure | |||
| Plateforme.gtk | Xamarin.Forms.Platform.GTK | |||
| Plateforme.wpf | Xamarin.Forms.Platform.WPF | |||
| Visuel. | Xamarin.Forms.Visual.Material |
Si vous souhaitez utiliser la dernière version de développement, vous devez lire ce billet de blog:
Ajoutez le flux nocturne à vos sources NuGet ou ajoutez un Nuget.config à votre application (en le plaçant dans le même répertoire où se trouve votre fichier de solution) avec le contenu suivant:
<? 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 >Remarque: ce Nuget.config doit être avec votre application, sauf si vous souhaitez que les forfaits nocturnes commencent potentiellement être restaurés pour d'autres applications sur la machine.
Modifiez les dépendances de votre application pour avoir un * pour obtenir la dernière version.
Pour les deux méthodes en dessous, vous devrez ajouter ce flux NuGet pour que la construction réussisse. Voir cette page de documentation pour savoir comment.
Vs 2019+ est nécessaire pour développer des formulaires xamarin. Si vous ne l'avez pas déjà installé, vous pouvez le télécharger ici. VS 2019+ La communauté est entièrement gratuite. Si vous installez vs 2019+ pour la première fois, sélectionnez le type d'installation "personnalisé" et sélectionnez les éléments suivants dans la liste des fonctionnalités à installer:
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)Le SDK Android 10.0 API 29 et Android 9.0 API 28 SDK sont nécessaires pour développer Xamarin.Forms. Ils peuvent être installés en utilisant le gestionnaire SDK Xamarin Android.
Nous vous recommandons également d'installer le gestionnaire de périphériques Android Xamarin. Cela utilisera les outils HAXM installés ci-dessus et vous permettra de configurer les périphériques virtuels Android (AVD) qui imitent les appareils Android. Si vous avez déjà installé VS 2019+, vous pouvez vérifier que ces fonctionnalités sont installées en modifiant l'installation VS 2019+ via l'installateur Visual Studio.
Si vous obtenez des erreurs sur les SDK manquants, vous pouvez exécuter notre script d'approvisionnement. Notez qu'il peut prendre un certain temps pour exécuter l'ensemble du script. Pour mieux comprendre le fonctionnement du script, n'hésitez pas à consulter notre fichier build.cake.
Sur CMD
build.cmd -Target provision
Sur PowerShell
./build.ps1 -Target provision
Remarque: Si vous rencontrez une erreur disant que Build.PS1 n'est pas signé numériquement, Open PowerShell en tant qu'administrateur et résoudre en exécutant d'abord Set-ExecutionPolicy RemoteSigned .
Sur CMD / PowerShell / SH (Nouveau! Plus d'informations ici)
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Si vous ne l'avez pas déjà installé, les instructions de téléchargement et de configuration peuvent être trouvées ici.
En raison des limitations de multi-cibles actuelles avec Visual Studio pour Mac, vous devrez créer / restaurer manuellement certains projets avant de pouvoir travailler sur la solution Xamarin Forms.
Voici quelques options différentes que nous avons mises en place pour aider à faciliter ce processus
Les branches 3.5+ sont livrées avec une cible de script de gâteau que vous pouvez utiliser pour construire et ouvrir VSMAC
./build.sh --target vsmacOu comme mentionné ci-dessus dans la section Windows sur l'approvisionnement, vous pouvez également utiliser le nouveau gâteau.tool
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Lorsque vous travaillez sur une branche antérieure qui n'a pas les scripts de gâteau, vous pouvez utiliser le script Build.sh suivant
Si vous ne voulez pas exécuter de scripts:
msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csprojXamarin.Forms.Build.Tasks.csproj Lors de l'ouverture de la solution xamarin.forms, vous constaterez qu'il existe un certain nombre d'erreurs et d'avertissements sous le volet d'erreur de liste; Vous pouvez résoudre ce problème en modifiant le filtre de Build + IntelliSense pour Build Only . À ce stade, vous devriez pouvoir construire avec succès la solution.
Par défaut, le projet Xamarin.Forms.Controls n'a pas de configuration pour diverses touches API pour accéder à certaines fonctionnalités de chaque plate-forme (par exemple, cartes). Lors de la création de la solution pour la première fois, un fichier controlgallery.config sera généré à l'intérieur de ce projet, qui ressemble à ceci:
UWPMapsAuthKey:
Si vous ne travaillez pas avec des cartes, vous pouvez ignorer cela. Si vous souhaitez travailler avec des cartes, vous devrez obtenir vos propres clés API pour chacun de ces services, insérée directement après l'identifiant (par exemple UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz ). Vous pouvez découvrir comment obtenir chacun de ceux-ci comme suit:
UWPMapsAuthKey sur https://microsoft.com/maps/create-a-bing-maps-key.aspx En raison de la façon dont Android fonctionne, la clé API MAPS ne peut pas être injectée au moment de l'exécution. En conséquence, vous devrez ajouter cette clé au fichier MapsKey.cs sous Xamarin.Forms.ControlGallery.Android/Properties :
[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
Vous pouvez découvrir comment obtenir une clé API Google Maps ici.
Assurez-vous d'avoir Nuget.exe 4.0 ou supérieur et le dernier SDK .net Core. Sur macOS, vous devez spécifier la plate-forme dans la commande msbuild ( /p:Platform=iPhoneSimulator )
msbuild /restore Xamarin.Forms.sln
Selon la configuration de votre environnement, vous devrez peut-être configurer quelques éléments avant de pouvoir déboguer / exécuter des tests d'interface utilisateur, en particulier sur Windows.
Xamarin.Forms.ControlGallery.Android . La façon la plus simple de le faire est de cliquer avec le bouton droit sur le projet et de sélectionner "Déployer". Notez que si vous reconstruisez la solution, vous pourriez perdre l'APK et devrez le générer à nouveau.Une fois ces mesures prises en charge, vous devriez être prêt à partir. Vous pouvez voir tous les tests d'interface utilisateur dans l'explorateur de tests, leur rechercher votre propre commodité et exécuter rapidement des tests individuels.
Pour exécuter les tests UWP UI:
Xamarin.Forms.ControlGallery.WindowsUniversal pour installer l'application ControlGallery sur votre système.Vous devriez maintenant pouvoir exécuter l'un des tests d'interface utilisateur UWP.
Nous suivons le style utilisé par la Fondation .NET, à quelques exceptions près:
private car il s'agit du niveau d'accessibilité par défaut en C #.Tools > Options et la navigation vers Text Editor > C# et la sélection de l'option radio "Keep onglets". Dans Visual Studio pour Mac, il est défini via les préférences dans Source Code > Code Formatting > C# source code et désactivant la case pour Convert tabs to spaces .Source Code > Code Formatting > C# source code et modification de la Desired file width en 120 . Nous utilisons les problèmes GitHub pour suivre les problèmes. Si possible, veuillez soumettre une reproduction de votre bogue avec votre rapport de bogue.