Mise à jour des références de composant à NuGet
Important
Le Magasin de composants a été supprimé depuis le 15 mai 2018 (cette fermeture a été annoncée en novembre 2017).
Les composants Xamarin ne sont plus pris en charge dans Visual Studio et doivent être remplacés par des packages NuGet. Suivez les instructions ci-dessous pour supprimer manuellement les références de composants de vos projets.
Reportez-vous à ces instructions pour ajouter des packages NuGet sur Windows ou Mac.
Une liste de bibliothèques et de plug-ins Xamarin populaires est disponible pour vous aider à trouver des alternatives aux composants qui ne sont pas disponibles en tant que packages NuGet.
Suppression manuelle des références de composants
La version 15.6 de Visual Studio et la version 7.4 de Visual Studio pour Mac ne prennent plus en charge les composants de votre projet.
Si vous chargez un projet dans Visual Studio, la boîte de dialogue suivante s’affiche, expliquant que vous devez supprimer manuellement tous les composants de votre projet :
Pour supprimer un composant de votre projet :
Ouvrez le fichier .csproj. Pour ce faire, cliquez avec le bouton droit sur le nom du projet, puis sélectionnez Décharger le projet.
Cliquez à nouveau avec le bouton droit sur le projet déchargé et sélectionnez Modifier {votre-nom-projet}.csproj.
Recherchez toutes les références dans le fichier à
XamarinComponentReference
. Le résultat doit ressembler à l’exemple suivant :<ItemGroup> <XamarinComponentReference Include="advancedcolorpicker"> <Version>2.0.1</Version> <Visible>False</Visible> </XamarinComponentReference> <XamarinComponentReference Include="gunmetaltheme"> <Version>1.4.1</Version> <Visible>False</Visible> </XamarinComponentReference> <XamarinComponentReference Include="signature-pad"> <Version>2.2.0</Version> <Visible>False</Visible> </XamarinComponentReference> </ItemGroup>
Supprimez les références à
XamarinComponentReference
et enregistrez le fichier. Dans l’exemple ci-dessus, il est sûr de supprimer l’intégralitéItemGroup
de .Une fois le fichier enregistré, cliquez avec le bouton droit sur le nom du projet et sélectionnez Recharger le projet.
Répétez les étapes ci-dessus pour chaque projet de votre solution.
Avertissement
Les instructions suivantes fonctionnent uniquement avec les versions antérieures de Visual Studio. Le nœud Composants n’est plus disponible dans les versions actuelles de Visual Studio 2017 ou Visual Studio pour Mac.
Les sections suivantes expliquent comment mettre à jour les solutions Xamarin existantes pour modifier les références de composants aux packages NuGet.
La plupart des composants appartiennent à l’une des catégories ci-dessus. Si vous utilisez un composant qui ne semble pas avoir de package NuGet équivalent, lisez la section composants sans chemin de migration NuGet ci-dessous.
Composants qui contiennent des packages NuGet
De nombreux composants contiennent déjà des packages NuGet, et le chemin de migration consiste simplement à supprimer la référence de composant.
Vous pouvez déterminer si le composant inclut déjà un package NuGet en double-cliquant sur le composant dans la solution :
L’onglet Packages répertorie tous les packages NuGet inclus dans le composant :
Notez que l’onglet Assemblys sera vide :
Mise à jour de la solution
Pour mettre à jour votre solution, supprimez l’entrée Composant de la solution :
Le package NuGet reste répertorié dans le nœud Packages et votre application se compile et s’exécute comme d’habitude. À l’avenir, les mises à jour de ce package seront effectuées via la fonctionnalité de mise à jour NuGet :
Composants avec remplacements NuGet
Si l’onglet Assemblys de la page d’informations sur le composant contient des entrées comme indiqué ci-dessous, vous devez rechercher manuellement le package NuGet équivalent.
Notez que l’onglet Packages sera probablement vide :
Il peut contenir des dépendances NuGet, mais celles-ci peuvent être ignorées.
Pour vérifier qu’un package NuGet de remplacement existe, effectuez une recherche sur NuGet.org, à l’aide du nom du composant ou par auteur.
Par exemple, vous pouvez trouver le package sqlite-net-pcl populaire en recherchant :
sqlite-net-pcl
: nom du produit.praeclarum
– le profil de l’auteur.
Mise à jour de la solution
Une fois que vous avez confirmé que le composant est disponible dans NuGet, procédez comme suit :
Supprimer le composant
Cliquez avec le bouton droit sur le composant dans la solution, puis choisissez Supprimer :
Cela supprime le composant et toutes les références. Cela interrompt votre build jusqu’à ce que vous ajoutiez le package NuGet équivalent pour le remplacer.
Ajouter le package NuGet
Cliquez avec le bouton droit sur le nœud Packages et choisissez Ajouter des packages....
Recherchez le remplacement NuGet par nom ou auteur :
Appuyez sur Ajouter un package.
Le package NuGet sera ajouté à votre projet, ainsi que toutes les dépendances. Cela doit corriger la build. Si la build continue d’échouer, examinez chaque erreur pour voir s’il existe des différences d’API entre le composant et le package NuGet.
Composants sans chemin de migration NuGet
Ne vous inquiétez pas si vous ne trouvez pas immédiatement de remplacement pour les composants utilisés dans votre application. Les composants existants continueront de fonctionner dans Visual Studio 15.5, et le nœud Composants apparaîtra dans votre solution comme d’habitude.
Toutefois, les versions ultérieures de Visual Studio ne restaurent ni ne mettent à jour les composants. Cela signifie que si vous ouvrez la solution sur un nouvel ordinateur, le composant n’est pas téléchargé et installé ; et l’auteur ne sera pas en mesure de vous fournir des mises à jour. Vous devez planifier les points suivants :
- Extrayez les assemblys du composant et référencez-les directement dans votre projet.
- Contactez l’auteur du composant et posez des questions sur les plans de migration vers NuGet.
- Examinez d’autres packages NuGet ou recherchez le code source si le composant est open source.
De nombreux fournisseurs de composants travaillent toujours sur la migration vers NuGet, et d’autres (y compris les produits disponibles dans le commerce) peuvent étudier d’autres options de livraison.