Générer un contrôle réutilisable dans un projet UWP

Vous venez de créer un superbe contrôle et désirez que le monde entier puisse l’utiliser dans un package Nuget ou directement dans un autre projet UWP ?

Pour le partager vous avez pris soin de le construire à l’intérieur d’une librairie (DLL). Si vous pensez qu’il suffit simplement d’ajouter la DLL dans un projet pour que le contôle fonctionne, vous tomberez surement sur cette exception :

Impossible de copier le fichier “C:\Users\Sam.nuget\packages\pixelcontainer\1.1.1\lib\uap10.0\SamuelBlanchard.UI.Panels\SamuelBlanchard.UI.Panels.xr.xml”, car il est introuvable. App10

ou en anglais :

Could not copy the file “C:\Users\Sam.nuget\packages\pixelcontainer\1.1.1\lib\uap10.0\SamuelBlanchard.UI.Panels\SamuelBlanchard.UI.Panels.xr.xml” because it was not found. App10

Cette exception, pas très agréable, vous indique qu’il manque des fichiers à votre librairie. Il faut donc les générer en cochant “Generate library layout” dans l’onglet “Build”

Notez en Français, le petit problème d’affichage :

En buildant de nouveau la librairie avec cette option, de nouveaux fichiers et dossiers seront générés.

Le dossier SamuelBlanchard.UI.Panels vient d’être ajouté

Il suffit maintenant d’ajouter le fichier “.dll“,” .pri” ainsi que le dossier qui correspond au namespace du contrôle (ici SamuelBlanchard.UI.Panels) dans le nouveau projet ou le packet Nuget pour que tout fonctionne normalement !

PS : En WPF vous pouvez juste mettre la DLL et cela fonctionnera directement 😉

Leave a Reply

Your email address will not be published. Required fields are marked *