IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

problème de réference des DLLS dans unity3d script


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut problème de réference des DLLS dans unity3d script
    Bonjour,

    je travaille actuellement sur un projet où je dois faire l'intégration d'un joystick dans unity3d. pour le moment, je dois utiliser les DLLS
    Microsoft.DirectX;
    ,
    Microsoft.DirectX.DirectInput;
    et
    System.Windows.Forms;
    pour avoir accès au joystick. cependant, je rencontre quelques problèmes au niveau d'ajout de ces bibliothèques dans les références de mon script. je les ai bien ajoutées dans les références mais unity m'envoie toujours trois erreurs de ce type:
    Assets/Movement.cs(5,17): error CS0234: The type or namespace name `DirectX' does not exist in the namespace `Microsoft'. Are you missing an assembly reference?
    j'ai fait trois manœuvres sans résoudre le problème:
    1. j'ai directement fait référence aux bibliothèques indiquées dans le répertoire: C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0
    2. j'ai copié collé directement ces bib. dans le répertoires des bib's déja existante par défaut dans unity: C:\Program Files\Unity\Editor\Data\Managed.
    3. et enfin, j'ai copié collé ces bib dans le répertoire Asset de mon projet Unity3d.

    quelqu'un a une autre suggestion?

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut
    j'ai reussi à générer la solution, j'ai récupéré les bib à partir du répertoire bin de mon projet et je les ai copiées dans le répertoire Asset. j'ai eu cette erreur:
    Internal compiler error. See the console log for more information. output was:
    Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
    je pense que simplement c'est un problème de compatibilité des bibliothèques avec l'unity que j'utilise. qlq un a une idée comment fixer ce problème?

  3. #3
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 34
    Par défaut
    Je suis pas un expert d'unity, mais il me semble qu'ils utilisent le c# via mono, et que la compilation est compatible avec divers système d'exploitation. Je doute qu'il est donc possible d'utiliser des DLL strictement prévu pour le pc (comme le namespace microsoft), d'autant plus qu'ils intègrent une gestion des périphériques d'entrée.

    Le plus simple est de vérifier si ces DLL sont compatible avec mono, si c'est le cas, d'une façon ou d'une autre, elles devraient marcher sur unity.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut
    Bonjour,
    mon promoteur m'a dit qu'il faut in 'wrapper' entre les dlls et le code c#, connaissez vous par hasard c'est quoi et ça sert à quoi exactement?
    merci d'avance.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut et comment je peux verifier que ces dlls sont compatible ou non avec unity?
    Citation Envoyé par Saroumane Voir le message
    Je suis pas un expert d'unity, mais il me semble qu'ils utilisent le c# via mono, et que la compilation est compatible avec divers système d'exploitation. Je doute qu'il est donc possible d'utiliser des DLL strictement prévu pour le pc (comme le namespace microsoft), d'autant plus qu'ils intègrent une gestion des périphériques d'entrée.

    Le plus simple est de vérifier si ces DLL sont compatible avec mono, si c'est le cas, d'une façon ou d'une autre, elles devraient marcher sur unity.

  6. #6
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 34
    Par défaut
    Il faut vérifier si les dll sont comptatible avec Mono develop. Unity l'utilise, donc le plus simple, c'est de télécharger Mono, crée un projet et référencer ces dll. S'ils les refusent, inutile de s’embêter unity ne les acceptera pas.

    Wrapper c'est crée une interface (passerelle) de communication entre une dll et le langage qu'on utilise. Un peu pointu et je ne pourrais pas t'aider.
    Si le but est d'utiliser unity, j'irais chercher un autre moyen d'utiliser un joystick, d'autant plus qu'il me semble qu'unity en propose.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut
    Citation Envoyé par Saroumane Voir le message
    Il faut vérifier si les dll sont comptatible avec Mono develop. Unity l'utilise, donc le plus simple, c'est de télécharger Mono, crée un projet et référencer ces dll. S'ils les refusent, inutile de s’embêter unity ne les acceptera pas.

    Wrapper c'est crée une interface (passerelle) de communication entre une dll et le langage qu'on utilise. Un peu pointu et je ne pourrais pas t'aider.
    Si le but est d'utiliser unity, j'irais chercher un autre moyen d'utiliser un joystick, d'autant plus qu'il me semble qu'unity en propose.
    oui le but de mon projet est d'utiliser un joystick, récupérer les données des axes et appliquer une retour d'effort. je ne sais pas pour le moment comment utiliser unity pour arriver à mes fins, mais dans le cas extrême je serais obliger de passer directement par les fonctionnalités d'unity pour intégrer ce joystick même si mon encadreur m'a obliger de travailler avec directX.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Voir les librairies externes pour le wrapper (expliqué dans ta discussion pour le joystick)
    _________________________________________
    Citation Envoyé par amlil-cs Voir le message
    j'ai reussi à générer la solution, j'ai récupéré les bib à partir du répertoire bin de mon projet et je les ai copiées dans le répertoire Asset. j'ai eu cette erreur:
    rnal compiler error. See the console log for more information. output was:
    Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
    je pense que simplement c'est un problème de compatibilité des bibliothèques avec l'unity que j'utilise. qlq un a une idée comment fixer ce problème?
    Citation Envoyé par amlil-cs Voir le message
    j'ai bien réussi à ajouter les DLLS.
    Peux tu indiquer comment tu as résolu le problème ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  9. #9
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 34
    Par défaut
    A la base, c'est complétement idiot que ton encadreur t'oblige a utiliser directx sous unity 3D ! Je me répète mais unity utilise Mono qui n'est pas totalement compatible avec le framework de microsoft. Les exigences de ton encadreur tiennent pas la route, il convient d'utiliser les méthodes fourni par unity. Parallèlement, il existe un forum assez actif pour Unity 3D, ils seront plus a même a répondre a tes questions.

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Citation Envoyé par Saroumane Voir le message
    Parallèlement, il existe un forum assez actif pour Unity 3D, ils seront plus a même a répondre a tes questions.
    Merci pour l'info : le forum unity.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Voir les librairies externes pour le wrapper (expliqué dans ta discussion pour le joystick)
    _________________________________________



    Peux tu indiquer comment tu as résolu le problème ?
    et bien, j'ai directement fait référence aux dlls ( C:\Program Files\Microsoft DirectX SDK (April 2007)\Developer Runtime\x86\DirectX for Managed Code) dans mon script. puis j'ai fait le 'build', cela génère du nouvelles dlls dans le répertoire debug dans mon projet unity. puis je les ai copiées collées dans répertoire Asset. elle sont chargées directement au démarrage d'unity. mais il revoie un nouveau msg d'erreur
    MissingMethodException: Method contains unsupported native code
    Microsoft.DirectX.DirectInput.Manager.InternalCreate (IntPtr phInst)
    Microsoft.DirectX.DirectInput.Manager..cctor ()
    Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Microsoft.DirectX.DirectInput.Manager
    Movement..ctor () (at Assets/Movement.cs:19)

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Par défaut
    je vous joint directement mon travail mes amis. J’espère quelqu'un aura la gentilles d'y jeter un coupe d’œil et résoudre ce problème fatidique de dlls.
    merci d'avance.
    New Unity Project 5.rar

  13. #13
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Et les pistes données sur cette discussion ?
    [Edit] Ou alors poser la question sur le forum unity.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

Discussions similaires

  1. problème de référence des dlls directx dans unity
    Par amlil-cs dans le forum Unity
    Réponses: 2
    Dernier message: 22/02/2014, 17h59
  2. [JAR][DLL][path] inclure des DLLs dans un jar
    Par blaz dans le forum Général Java
    Réponses: 5
    Dernier message: 28/07/2005, 12h29
  3. problème de detection des CD dans mes lecteurs
    Par zakfa dans le forum Windows XP
    Réponses: 8
    Dernier message: 31/03/2005, 11h07
  4. problème our passer des string dans tableau d'int
    Par Battosaiii dans le forum C++
    Réponses: 9
    Dernier message: 15/07/2004, 17h42
  5. Réponses: 1
    Dernier message: 06/03/2003, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo