none
Importation de dll c# dans un projet Windows Phone RRS feed

  • Discussion générale

  • Bonjour,

    Je souhaiterais utiliser une bibliothèque en C pour une application Windows Phone. Il se trouve qu'il existe un wrapper permettant d'utiliser cette bibiliothèque à partir d'un projet C#. Je ne parviens cependant pas à ajouter une référence au wrapper dans mon projet Winbdows Phone: "Impossible d'ajouter la référence à "monWrapper.dll", car il n'a pas été crée avec le runtime Windows Phone".

    Il s'agirait pour moi je pense de "rebuilder" ma library c# (le wrapper) spécifiquement pour Windows Phone. Le code est a priori compatible avec la version Silverlight utilisée par WP7.

    Avez-vous une solution à ce problème ou bien n'est-ce simplement pas possible de le faire?


    lundi 20 juin 2011 14:01

Toutes les réponses

  • Bonjour,

     

    C'est possible si votre wrapper ne réclame pas des éléments du framework qui ne serait pas présent dans le framework de WP7.

    Il vous suffit juste de créer un projet de type Windows Phone Class Library, et de reporter vos classes dans vos classes de cette library.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    lundi 20 juin 2011 17:56
  • Bonjour,

    Mon wrapper n'utilise effectivement que des éléments présents dans le framework WP7.

    J'ai cependant déjà essayé votre solution mais ça ne semble pas marcher, j'obtiens l'erreur suivante:
    "Attempt to access the method failed: Wrapper.CreateAPIInstance(System.IntPtr&, System.IntPtr)"

    Je pense qu'il n'arrive pas à accèder à la DLL en C puisque j'obtiens le même message en glissant une erreur dans le nom de la dll au moment de son importation. 

    Pour résumer, j'ai un projet "Wrapper" qui contient un fichier wrapper.cs, avec du code entièrement compatible avec Windows phone. Ce fichier inclus une DLL en C grâce aux instructions [DLL import("BibliothèqueC.dll", entryPoint= "..."]. BibliothequeC.dll est ajoutée dans le projet avec comme action de génération "aucun" et "toujours copier" comme propriété.
    Dans un second projet "ApplicationWindowsphone", j'ai ajouté une référence au projet "Wrapper" et j'appelle l'une des méthodes de "Wrapper.cs" et c'est là qu'arrive l'erreur.

    Peut être faut il copier la dll sur le téléphone dans le repertoire de l'application? (a priori ça ne marche pas mieux)

     

     

     



    mardi 21 juin 2011 09:29
  • AMHA, je doute fortement que le framework WP7 soit à même d'éxecuter une dll win32 (x86), ce qui explique le message d'erreur... :)
    lundi 8 août 2011 10:03
  • Il est impossible d'utiliser une librairie en C, qu'elle soit wrappé ou non, c'est une raison de sécurité. 

     

    Il faut donc redevelopper (et non wrapper) l'ensemble de la libraire C.

     

    Windows Phone n'accepte que 3 langages : C#, VB et F# et uniquement les librairies développé avec

     

    Cordialement

     

    Rudy


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
    lundi 8 août 2011 13:32
    Modérateur