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

ASP.NET Discussion :

Problème de mise à jour des assembly-> reflexion


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Points : 248
    Points
    248
    Par défaut Problème de mise à jour des assembly-> reflexion
    Bonjour,

    Voilà mon problème:

    Quand je veux appeler une méthode par reflexion, la méthode 'GetMethod' de la classe Type renvoie null, alors que la méthode existe bien dans la classe.

    Pourtant, après quelques compilations (j'essayais de debuggé pas à pas), le bug à disparu sans que je change la moindre ligne de code.

    Je pensais que .NET cherchait la méthode dans un assembly en cache.

    Voilà le code qui me permet de trouver mon type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public static Type retourner_type(string a_type_utilisateur)
            {
                foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
                    foreach (Type type in assembly.GetTypes())
                        if (((a_type_utilisateur == type.Name) || (a_type_utilisateur == type.FullName)) && !type.Assembly.GlobalAssemblyCache)
                            return type;
     
                return null;
            }
    Le rajout de la condition '!type.Assembly.GlobalAssemblyCache' n'a pourtant pas réglé mon problème.

    Du coup je ne comprend pas...
    Ma méthode de recherche de type ne doit pas être terrible, je l'avais copiée je ne sais plus ou, mais jusqu'à maintenant je n'avais pas eu de problème...

    Une idée?

    Le bug est levé sur l'environnement de développement, et je ne veux pas courir le risque de le balancer en production

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

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Essaye de faire que ce test la "(a_type_utilisateur == type.FullName) && !type.Assembly.GlobalAssemblyCache)"

    Car si tu tests qu'avec type.Name si deux types ont le même noms dans deux namespace différents ça va te retourner le mauvais.

    Sinon je ne vois pas!

  3. #3
    Membre actif Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Points : 248
    Points
    248
    Par défaut
    Je suis d'accord avec toi sur ce point, mais il n'y a pas de rapport avec mon problème

    Merci de la remarque quand même

    Je pense avoir une piste pour mon problème: quand je suis en train de tester mes classes, je ne les mets pas dans le répertoire App_code, mais dans le fichier qui contient la classe de ma form. (c'est pour éviter la re-compilation de toutes les classes du projet)

    Avant de mettre de la reflexion il n'y avait pas de problème, mais maintenant si.
    Donc à priori, il vaut mieux laisser les classes utilisant la reflexion dans App_code même pour les tests...

    A voir par la pratique, je ferais une maj du sujet si je peux.

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

Discussions similaires

  1. Problème de mise à jour des jars
    Par stongolm dans le forum JWS
    Réponses: 1
    Dernier message: 20/02/2008, 14h07
  2. Problème de mise à jour des champs Auto incrémentés avec VB6.
    Par NHenry dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/05/2007, 16h06
  3. problème de mise à jour des tables (10g)
    Par bad lieutenant dans le forum Administration
    Réponses: 7
    Dernier message: 26/04/2007, 17h21
  4. problème de mise à jour des variables
    Par King_T dans le forum Langage
    Réponses: 8
    Dernier message: 26/03/2007, 16h43
  5. [C#][Access]Problème de mise à jour des données
    Par vvvvv dans le forum ASP.NET
    Réponses: 10
    Dernier message: 11/04/2006, 10h43

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