none
Créer une libraire compatible Silverlight RRS feed

  • Question

  • Bonjour à tous,

    J'ai besoin d'informations pour créer une librairie portable.

    J'ai crée une librairie compatible WP Silverlight, mais j'aimerais qu'elle soit également compatible WP App hors lorsque j'ajoute dans les propriétés 2 cibles , les namespace ne sont plus disponibles.

    Est-ce que je doit créer une libraire WP puis une WP Silverlight puis ensuite faire en sorte que ce ne soit plus qu'une seule ?

    Je suis un peut perdu, pouvez vous m'éclairer ? 

    Merci


    Florian R SAS

    mercredi 18 mars 2015 10:08

Réponses

  • Bonjour,

    Le principe des librairie portable (PCL) est "filtrer" les namespaces communs a toutes les cibles que vous définissez.

    Si certains namespaces disparaissent c'est qu'il n'existent pas ou ne sont pas compatibles dans toutes les cibles. Si c'est votre cas, et que vous avez absolument besoin de ces namespaces vous n'aurez pas d'autres choix que de créer une librairie pour chaque cible (quitte à utiliser les fichiers liés pour partager le code commun).

    Si vous n'avez besoin que de quelques fonctionnalités, une pratique courante est d'utiliser le pattern d'inversion de contrôle (http://fr.wikipedia.org/wiki/Inversion_de_contr%C3%B4le). Dans les grandes lignes: dans votre PCL vous créez une interface qui proposera les services dont vous avez besoins dans certains de vos objets de la PCL. Dés que vous utilisez ces objets vous devrez transmettez cette interface (dans le constructeur ou à chaque appel de méthode). Dans chaque application (ou une librairie spécifique) vous implémentez cette interface en fonction de votre cible. Cette technique vous permet de mutualiser du code tout en ayant un comportement spécifique pour chaque plateforme que vous implémentez.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    jeudi 19 mars 2015 07:48

Toutes les réponses

  • Bonjour,

    Le principe des librairie portable (PCL) est "filtrer" les namespaces communs a toutes les cibles que vous définissez.

    Si certains namespaces disparaissent c'est qu'il n'existent pas ou ne sont pas compatibles dans toutes les cibles. Si c'est votre cas, et que vous avez absolument besoin de ces namespaces vous n'aurez pas d'autres choix que de créer une librairie pour chaque cible (quitte à utiliser les fichiers liés pour partager le code commun).

    Si vous n'avez besoin que de quelques fonctionnalités, une pratique courante est d'utiliser le pattern d'inversion de contrôle (http://fr.wikipedia.org/wiki/Inversion_de_contr%C3%B4le). Dans les grandes lignes: dans votre PCL vous créez une interface qui proposera les services dont vous avez besoins dans certains de vos objets de la PCL. Dés que vous utilisez ces objets vous devrez transmettez cette interface (dans le constructeur ou à chaque appel de méthode). Dans chaque application (ou une librairie spécifique) vous implémentez cette interface en fonction de votre cible. Cette technique vous permet de mutualiser du code tout en ayant un comportement spécifique pour chaque plateforme que vous implémentez.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    jeudi 19 mars 2015 07:48
  • Bonjour Yan,

    Merci de votre réponse, cela m'éclaire un peut plus sur ce que je vais devoir faire.

    Cordialement


    Florian R SAS

    jeudi 19 mars 2015 08:21