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++/CLI Discussion :

[C++.Net] DLL Compilation OK mais plantage à l'execution C#


Sujet :

C++/CLI

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut [C++.Net] DLL Compilation OK mais plantage à l'execution C#
    Bonjour à tous

    Voila j'ai fais une librairie en C++.Net et j'ai un programme Winform C# qui appelle en référence cette librairie.

    Les 2 projets compilent bien.
    Mais à l'execution j'ai un plantage sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run(new Form1());
    avec l'erreur suivante :
    System.IO.FileNotFoundException: Le module spécifié est introuvable. (Exception from HRESULT: 0x8007007E)
    at CSharpLib.Form1.Form1_Load(Object sender, EventArgs e)
    dans le Form1_load j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    using CPPLib;
     
    ...
     
       private void Form1_Load(object sender, EventArgs e)
            {
               CPPLib.Class1 c = new CPPLib.Class1();
     
     
            }
    Je n'arrive pas à comprendre, la DLL est bien dans le répertoire d'execution du projet Winform.

    ps : je savais pas trop ou mettre le sujet , je vais copier le sujet dans la partie C# aussi.

    Merci à tous.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Form1 est définie dans le projet C++ ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut
    non non

    Form1 est la WinForm C# du projet C#

    il y a :
    - un projet Librairie Class en C++.Net
    - un projet WinForm C#

    C# référence le projet C++.Net


    Form1 est la winform de C#.
    Form1_load est le loading de la form qui fait appel à la librairie.

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    t'as essayé de créer une solution où il y a les deux projets et en faisant une référence projet pour référencer l'assembly c++/cli ?
    Comme ca, tu pourras tracer en debug et voir d'où vient le soucis

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut
    Oui oui et c'est ce que je disais il s'arrete en exception sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Run(new Form1());

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    et t'es rentré dans le constructeur ? que dit l'erreur du déboggeur ?
    tu peux peut-etre aussi uploader un projet minimal qui reproduit l'erreur

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut
    Euh je peux rentrer nulle part il stop direct sur la ligne

    je vais essayer de reproduire ca sur un petit projet.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Piste
    J'ai le meme probleme, d'apres ce que j'ai trouvé sur le net ca vient des references entre projet (DLL?).

    Une fois j'ai résolu ce problème en referencant l'assembly et non le projet (en C#).
    Mais la...ca ne fonctionne plus!

    Cet outil permetrait de deboguer les erreur de ref:
    Assembly Binding Log Viewer (Fuslogvw.exe)
    (http://msdn2.microsoft.com/en-us/lib...c4(vs.71).aspx)
    OU
    FileMon.exe

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Résolu
    J'ai appris l'existence des logiciels ci dessus mais...il ne m'ont servi a rien!

    J'ai résolu mon problème en mettant ma DLL wrappé dans mon rep debug (celui d'execution) et tout fonctionne a nouveau!

    SOLUTION:
    Mettre usewrapper.exe wrapper.dll et wrappée.dll dans le meme repertoire!

Discussions similaires

  1. Réponses: 18
    Dernier message: 02/03/2012, 15h52
  2. Réponses: 0
    Dernier message: 04/08/2008, 17h05
  3. Réponses: 4
    Dernier message: 08/01/2006, 18h26
  4. OPENROWSET avec l'analyseur: OK mais plantage sous 'DOS'
    Par Labienus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/06/2004, 15h47
  5. [VS.NET] [C#] Compilation avec /unsafe
    Par Jfrancois57 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 24/05/2004, 15h56

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