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

Framework .NET Discussion :

[Compilation dynamiquement] Comment connaître les dlls à inclure ?


Sujet :

Framework .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 22
    Points : 25
    Points
    25
    Par défaut [Compilation dynamiquement] Comment connaître les dlls à inclure ?
    bonjour,
    dans le cadre de la compilation dynamique, j'aurais besoin de connaitre les dll que je dois inclure.
    Je sais le faire de maniere statique par :
    CompilerParameters cp = new CompilerParameters(new string[] { "System.dll", "system.windows.forms.dll", "mscorlib.dll" });
    Mais c'est assez limité.
    savez vous si apartir d'une instance de classe ou du type, il est possible de connaitre les dll dont il a besoin?

    merci

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ne serait-ce possible de le faire par Reflection sur le type de l'instance, notamment au travers de la classe Assembly

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 22
    Points : 25
    Points
    25
    Par défaut
    c'est bon.
    j'ai reussi a recuperer les assembly référencées pas sur l'objet mais sur l'assembly de l'objet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    objetlienExterne.GetType().Assembly.GetReferencedAssemblies()[i].Name

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    objetlienExterne.GetType()
    => je récupère le type de mon objet

    objetlienExterne.GetType().Assembly
    => je récupère l'assembly qui défini le type de mon objet

    objetlienExterne.GetType().Assembly.GetReferencedAssemblies()
    => je récupère les assembly qui sont necessaires au bon fonctionnement de l'assembly qui défini le type de mon object (les "Références" de VS.Net)

    objetlienExterne.GetType().Assembly.GetReferencedAssemblies()[i].Name
    => je récupère le nom du i-ème assembly necessaires au bon fonctionnement de l'assembly qui défini le type de mon object

    Question: t'as pas l'impression de te compliquer la vie ?

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

Discussions similaires

  1. [2.0] Comment connaître les objets conservés en mémoire ?
    Par Pilloutou dans le forum Framework .NET
    Réponses: 3
    Dernier message: 21/11/2006, 18h33
  2. [MySQL] Comment connaître les noms des tables existantes
    Par Cygnus Saint dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/03/2006, 20h26
  3. Comment connaître les fonctions d'une DLL ?
    Par bencot dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 15/06/2005, 09h25
  4. Réponses: 4
    Dernier message: 03/02/2005, 14h16

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