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 :

Comment utiliser une dll?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Par défaut Comment utiliser une dll?
    Bonjour,

    Ma question va peut être paraître stupide, mais je me lance !
    Comment fait-on pour utiliser une dll .NET dans un projet C# lorsque la dll a préalablement été ajoutée aux références en suivant Projet --> Ajouter une Référence.
    Pour être plus clair, comment je peux appeler telle ou telle fonction de la dll dans une de mes méthodes du projet C# par exemple?

    Merci pour votre aide!

    P.S : un tout petit exemple de code serait le bien venu . Un grand merci d'avance.

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using LeNamespaceDeTaClasseDansLaDll;
     
    ...
    TaClasse m = new TaClasse();

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Par défaut
    Salut,

    Est-ce que la classe de la dll a forcément un namespace? Parce que à l'origine, c'est un .jar converti en .dll .NET grâce à IKVM. Dans ce .jar, il y a le nom du package :
    package MonPackage;

    public class MaClasse {...}

    Et c'est tout ce que je vois.

    Or quand dans mon projet C# je mets
    using MonPackage;
    ou
    using MaClasse;
    ou encore
    using LeNomDeLaDll;
    j'ai des erreurs de compilation du genre :
    Le type ou le nom d'espace de noms 'MonPackage' (ou 'MaClasse' ou 'LeNomDeLaDll') est introuvable (une directive using ou une référence d'assembly est-elle manquante*?)

    J'ai bien fait 'ajouter une référence' au projet en sélectionnant ma dll.

    Ces erreurs sont normals? Que dois-je faire?
    Si vous avez une idée, elle est bien venue !
    Merci d'avance

  4. #4
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Bonjour,

    Essaye d'écrire le nom de la classe (MaClasse) dans ton code, et clique sur le bouton droit de ta souris et voir s'il y a l'option résolve.
    Normalement si t'a bien ajouter la réference d'un dll alors visual studio peut connaitre le chemin de ta classe, et il te donneras les choix
    des namespaces où il existe à l'aide de l'option résolve.

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 62
    Par défaut Explorateur d'objets
    Salut,

    Tu peux aussi te servir de l'explorateur d'objets. Si tu as correctement ajouté la dll elle devrait se trouver dans la liste et te permettre de connaitre le namespace.

  6. #6
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Par défaut
    Citation Envoyé par PxPar Voir le message
    Salut,

    Tu peux aussi te servir de l'explorateur d'objets. Si tu as correctement ajouté la dll elle devrait se trouver dans la liste et te permettre de connaitre le namespace.
    Ah ben tu réponds à l'interrogation que je me posais ci-dessus.
    Problème je ne vois pas la dll dans l'explorateur de solutions. Après il faut dire que le projet n'est pas le mien et qu'il est énorme. Donc peut être que la dll est cachée au milieu de tous les éléments de la liste?
    Je vais continuer ma recherche, mais je crois que la dll n'est pas ajoutée. Déjà, le nom de la dll ne figure pas dans la liste des références dans Projet --> ajouter une référence...

  7. #7
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Par défaut
    J'inscris dans mon code la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaClasse m = new MaClasse();
    Quand je fais un clique droit sur MaClasse, m, ou MaClasse() je n'ai pas l'option resolve. Par contre j'ai peut être l'équivalent : atteindre la définition.
    Quand je clique sur atteindre la définition, il me dit "impossible de naviguer vers MaClasse()".

    Est-ce que je suis censé pouvoir trouver ma dll dans les références quelque part si elle a bien été ajoutée?

Discussions similaires

  1. [C] Comment utiliser une DLL ?
    Par The Lord of Nesquik dans le forum Windows
    Réponses: 1
    Dernier message: 14/05/2006, 12h26
  2. [COM] Comment utiliser une dll DotNet dans un projet win32 ?
    Par Marmottoc dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 05/05/2006, 15h58
  3. [Langage]Comment utiliser une dll .NET dans VB6?
    Par BouB dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/04/2006, 14h20
  4. comment utiliser une DLL win32 en C??
    Par Jayceblaster dans le forum C
    Réponses: 8
    Dernier message: 31/03/2006, 12h49

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