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 :

Boîte de dialogue Alerte expliquant qu’un composant a été trouvé dans votre projet et doit être supprimé

Pour supprimer un composant de votre projet :

  1. Ouvrez le fichier .csproj. Pour ce faire, cliquez avec le bouton droit sur le nom du projet, puis sélectionnez Décharger le projet.

  2. Cliquez à nouveau avec le bouton droit sur le projet déchargé et sélectionnez Modifier {votre-nom-projet}.csproj.

  3. 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>
    
  4. Supprimez les références à XamarinComponentReference et enregistrez le fichier. Dans l’exemple ci-dessus, il est sûr de supprimer l’intégralité ItemGroupde .

  5. Une fois le fichier enregistré, cliquez avec le bouton droit sur le nom du projet et sélectionnez Recharger le projet.

  6. 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 :

Nœud composants développé

L’onglet Packages répertorie tous les packages NuGet inclus dans le composant :

L’onglet Packages contient NuGet

Notez que l’onglet Assemblys sera vide :

L’onglet Assemblys est vide

Mise à jour de la solution

Pour mettre à jour votre solution, supprimez l’entrée Composant de la solution :

Supprimer un composant

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 :

Mettre à jour le package 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.

Contient des assemblys

Notez que l’onglet Packages sera probablement vide :

Onglet packages

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 :

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 :

Supprimer un composant

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

  1. Cliquez avec le bouton droit sur le nœud Packages et choisissez Ajouter des packages....

  2. Recherchez le remplacement NuGet par nom ou auteur :

    Recherche NuGet

  3. 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.