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 :

Utilisation d'une librairie


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Par défaut Utilisation d'une librairie


    Pfff... non vraiment je n'y arrive pas lol : en fait je veux tous simplement utiliser une librairie ...

    Typiquement, j'ai une classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    using System;
     
    public class myclass
    {
        //attributs de classe
     
        //attributs d'instance
     
        //constructeurs
     
        //propriété de classe
     
        //propriétés d'instances
    }
    dont je fais une dll : "myclass.dll" (jusque la tout va bien...)

    Maintenant, j'aimerais ajouter une référence à un projet (j'utilise VC# Express 2008) qui me permette d'utiliser la librairie sus-nommée... Mais je patauge je ne sait pas dans quoi mais c'est très épais... lol : les "using myclass" ne marchent pas, et sa me renvoi l' "Erreur 1 Une directive d'espace de noms using ne peut être appliquée qu'aux espaces de noms ; 'myclass' est un type, pas un espace de noms".

    Bref, j'ose espérer qu'une bonne âme me prenne sous son aile pour m'expliquer comment sa marche ou m'indiquer un bon tuto parceque la ...

    J'ai pourtant lu la discution "Importante" sur "Créer une librairie" lol mais j'y comprend rien... et mes recherches sur google ne donnent rien... .

    Bref et a celui qui m'aidera même si je suis un lol

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Si le projet de ta DLL et la projet qui doit utiliser la DLL se trouvent dans la même solution : dans le projet qui doit utiliser la DLL aller dans les références et ajouter une référence au projet de la DLL ("Projets" dans la fenêtre d'ajout de référence).

    Si c'est une DLL à part, aller dans les références et ajouter une référence directement sur la DLL ("Parcourir" dans la fenêtre d'ajout de référence).

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    j'ajouterais que on me peut mettre "using myclass" car myclass est une classe.

    un using permet d'importer un espace de nom (namespace) ainsi, une fois la reference ajouter comme l'as dit StormimOn on pourrais ajouter un using avec le namespace de la librairie.


    pour connaitre le namespace: de base c'est le nom du projet, pour le verifier, afficher une classe, au dessus de la declaration de celle ci on peut voir le nom du namespace


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    namespace Controleur {
        public class CatalogueCour : MarshalByRefObject, ICatalogueCour
        {
    ici la classe CatalogueCour est contenu dans le namespace Controleur

    je peut donc fair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using Controleur;
    CatalogueCour _catCour = new CatalogueCour();
    ou sans using

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controleur.CatalogueCour _catCour = new Controleur.CatalogueCour();

  4. #4
    Membre éclairé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Par défaut


    Merci à tous les deux !!! Sa marche nickel !!!

    En effet c'est tout ce qui me fallait .

    Mais maintenant juste une dernière question :

    Je n'arrive pas utiliser les librairies compilées par VC# (avec l'IDE)... Celle dont je vous parlais, a été compilée en ligne de commande, et là ça va, tout marche impec...

    Deux cas :

    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    namespace myNameSpace {
        public class myClass1 {
        }
     
        public class myClass2 {
        }
    }
    et je ne peut utiliser que myClass1 (le même code compilé en ligne de commande ne me donne aucun souci : je peut utiliser les deux classes)

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Sans namespace
    public class myClass1 {
    }
     
    public class myClass2 {
    }
    et je ne peut utiliser aucune de ces deux classes... (toujours aucun problème en ligne de commandes...)

    Quelqu'un saura-t-il m'expliquer cela ?

    Encore merci pour vos réponses StormimOn et TheBlackReverand

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    tu veut dir que tu ne voi pas le namespace? ou pas la classe?

    met ta classe en "public class ...." sa feras pas de mal

  6. #6
    Membre éclairé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Par défaut
    Oui en effet j'ai oublie le "public" devant "class", je n'ai pas encore les bons reflexes (et dans ma librairie, j'ai bien des "public class", c'était juste un oubli de "recopiage" )

    Sinon : dans le cas où j'ai un namespace, si je met en référence dans un projet la dll compilée par VC#, j'ai accès au namespace, mais qu'a une seule des deux classes (la première en l'occurence). Alors qu'avec le même code compilé en ligne de commande et ajouté en référence, j'ai accès au namespace ainsi qu'aux deux classes.

    Dans le cas où je n'ai pas de namespace, si je met en référence dans un projet la dll compilée par VC#, je n'ai accès à aucune des deux classes . Alors qu'avec le même code compilé en ligne de commande et ajouté en référence, j'ai accès aux deux classes.

    Etrange lol...

    Je pense donc que mon problème ne vient pas du code, mais de ma mauvaise utilisation de VC#... c'est donc plus une aide sur comment compiler une librairie sous VC# qui m'aidera... mais je ne trouve rien qui puisse m'aider à résoudre cela...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation d'une librairie
    Par gil38 dans le forum C++
    Réponses: 3
    Dernier message: 15/03/2007, 08h31
  2. [FB] utilisation d'une librairie C/C++
    Par dug dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 16/10/2006, 22h05
  3. [GD] Utilisation d'une librairie equivalente à Gd/installation sans reboot du serveur
    Par hokidoki dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 21/07/2006, 15h22
  4. Utilisation d'une librairie
    Par LordBob dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 20/07/2006, 14h06
  5. Réponses: 4
    Dernier message: 13/10/2005, 12h41

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