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 :

code partagé exe et dll


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Trop de choses
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Trop de choses
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 63
    Points
    63
    Par défaut code partagé exe et dll
    Bonjour.

    J'ai pour habitude de développer des "librairies" en csharp que je partage entre différents projets (exemple: manipulation de fichiers INI, etc).
    C'est très souvent déclaré ainsi LibMachin.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    static class LibMachin
    {
        public static void DoAction()
       {
       }
    }
    Pratique pour avoir du code réutilisable sans avoir à se trimbaler une DLL.
    Jusque là pas de problème.

    J'ai un gros projet qui se compose d'un EXE qui fait référence à un assembly dans une DLL.
    Aussi bien dans le projet de l'EXE que dans la DLL, j'ai ajouté au projet le fichier LibMachin.cs car j'ai besoin aussi bien dans l'un que dans l'autre de certaines de ses fonctions.

    Mon problème est en debug de l'EXE.
    Il n'est plus capable d'évaluer les expressions et j'ai le message :
    Le type 'MesLib.LibMachin' existe dans 'MonProg.exe' et dans 'MonAssembly.dll'.
    Cela ne plante pas mais cela met en lumière que mon architecture de partage de code est imparfaite.

    Notons que je n'ai pas envie de déplacer mes Lib dans un assembly DLL.

    Y a t-il une déclaration à faire dans ma LibMachin pour qu'elle ne soit pas visible "en dehors du projet" ? J'ai essayé "internal", cela ne change pas.
    Private n'est pas possible pour du static.

    Bref, j'en appelle aux architectes du code source.

    Merci !

  2. #2
    Membre du Club
    Homme Profil pro
    Trop de choses
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Trop de choses
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 63
    Points
    63
    Par défaut
    ok après avoir essayé pleins de trucs, j'ai déclaré la classe statique en public et supprimé la référence au fichier .CS de mon projet EXE.
    Du fait qu'il fait référence à la DLL, je retrouve un accès unique à ma classe statique.

    C'était simple. Désolé du dérangement.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par altifab Voir le message
    Notons que je n'ai pas envie de déplacer mes Lib dans un assembly DLL.
    C'est pourtant la seule façon propre de faire... en quoi ça te gêne ?

    Citation Envoyé par altifab Voir le message
    Private n'est pas possible pour du static.
    Aucun rapport avec static ; ce n'est pas possible pour des types, sauf les types imbriqués dans un autre type.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    c'est absurde de copier coller du code plutot que de faire des dll ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. modification Code pour passer un exe en dll
    Par ehkhalid dans le forum C++
    Réponses: 4
    Dernier message: 23/01/2010, 10h38
  2. [Déploiement] Code Java nécessitant une dll
    Par nicolas.pied dans le forum Général Java
    Réponses: 3
    Dernier message: 12/01/2006, 19h45
  3. [VB] COmment compiler une dll dans un exe (zlib.dll)
    Par Khrysby dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/11/2005, 12h10
  4. Transcrire code PHP dans une DLL
    Par LEK dans le forum C++
    Réponses: 16
    Dernier message: 26/09/2005, 14h17
  5. Réponses: 14
    Dernier message: 02/05/2005, 18h14

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