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

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Points : 16
    Points
    16
    Par défaut System.Generic.Collections.KeyNotFoundException : Lancement d'une application C# qui marche pas vraiment
    Bonjour,
    J'ai une application C# qui marche bien chez moi, et chez certains utilisateurs sauf pour UN.
    Je ne comprends pas pourquoi j'ai un message d'exception.
    Pour information mon application se base sur des données stockées dans un dictionnaire et les sauvegarde dans un fichier Excel.
    Si vous avez des idées, elles sont les bienvenues.
    Merci de trouver un extrait (pièce jointe) de l'exception que l'utilisateur a vu de son ordinateur.
    Mon environnement: Visual C# Edition Express 2008 et Office 2003.
    Cordialement,
    Images attachées Images attachées  

  2. #2
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Bonjour,

    tu as le framework installé sur la machine de cet utilisateur? tu as office installé aussi?

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    chamano, le framework il l'a obligatoirement sinon l'application lui aurait renvoyer un beau gros message bien clair... "t'a pas dotnet... va voir ailleurs si j'y suis"

    en revanche, as-tu effectivement office sur la machine en question ?
    bien qu'en voyant cette exception je ne suis pas convaincu qu'elle provienne de cela, mais il est difficile d'être plus à même d'être plus clair vu le peu d'info que l'on a.
    quelle différences peut-il bien y avoir entre cette configuration et la tienne ? à part l'absence probable de Visual studio ?

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    A priori, si tu exécute ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dictionary<string, int> dico = new Dictionary<string, int>();
    dico.Add("chat", 2);
    dico.Add("chien", 1);
    int v=dico["Patate"];
    Tu auras l'exception System.Generic.Collections.KeyNotFoundException sur la dernière instruction, car "Patate" ne figure pas dans le dico.

    Si tu regardes la suite de *** Exception text *** , tu verras tout le Call stack . Ce qui permet de savoir dans quelle procédure P de l'application se produt l'exception, puis d'identifier P' ayant appelé P et ainsi de suite ...

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Re-Bonjour,

    La machine sur laquelle j'ai installé l'application - et sur laquelle j'ai l'exception - a Office 2007 (l'application marche sur d'autres machines qui ont Office 2007), bien que je l'ai développé sous "Office 2003".
    Cet utilisateur pour qui celà ne marche pas...a bel et bien le FrameWork d'installer.

    Concernant l'Exception, je suis vraiment surpris de l'avoir, dans la mesure où cette exception n'est jamais générée ni chez moi ni chez les autres utilisateurs...

    - J'ai compilé en X86 mon application, pensez-vous qu'il puisse y avoir un lien?
    - Pour plus de détails sur l'application, il s'agit d'une application qui va chercher des données dans un buffer (adresse <--> donnée correspondante à l'adresse). J'ai fait des tests avec des fichiers qui marchent très bien chez tous sauf pour une personne. Je n'ai jamais eu de message d'exception (comme je le précise plus haut) au niveau des PC chez qui celà marche.

    - Les utilisateurs n'ont pas forcément besoin d'avoir Visual C# (ou Visual Studio) installée sur leur machine pour que celà marche, le Framework suffit (déjà le cas chez tous les autres utilisateurs).

    Cordialement,

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Met lui les pdb de l'application sur son poste ainsi tu auras le numero de ligne en plus de la stack.

    de là, tu peut éventuellement ajouter une trace au bon endroit et tu devrais comprendre ce qui se passe.

    A tout hasard, check si il n'y a pas une histoire de Sp de framework.

    I ne serait pas en 3.5 et les autres en 3.5 SP1, le niveau de SP de l'OS ets le même, etc .....

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Met lui les pdb de l'application sur son poste ainsi tu auras le numero de ligne en plus de la stack.

    de là, tu peut éventuellement ajouter une trace au bon endroit et tu devrais comprendre ce qui se passe.

    A tout hasard, check si il n'y a pas une histoire de Sp de framework.

    I ne serait pas en 3.5 et les autres en 3.5 SP1, le niveau de SP de l'OS ets le même, etc .....
    Bonjour,
    Je vais essayer de diagnostiquer ce point et vous tiens au courant.
    Cordialement,

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par mamamiya_ Voir le message
    Bonjour,
    Je vais essayer de diagnostiquer ce point et vous tiens au courant.
    Cordialement,
    Après vérification, nous avons les mêmes dossiers/fichiers dans le répertoire:

    C:\WINDOWS\Microsoft.NET\Framework
    Les sous-répertoires présents sont:
    \v1.0.3705
    \v1.1.4322
    \v2.0.50727
    \v3.0
    \v3.5

    Quelle vérification pratique pourrais-je faire à ce sujet?

    Cordialement,

  9. #9
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,

    le message de l'erreur qu'il rencontre est en Anglais. Serait-ce par hasard le seul de tes utilisateurs qui a soit un Windows Anglais, soit un Office Anglais, soit paramétré son OS en Anglais dans les paramètres régionaux, soit encore une version anglaise du framework ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/09/2008, 04h28
  2. Iterator d'une liste - get qui marche pas
    Par docky dans le forum C++
    Réponses: 4
    Dernier message: 25/05/2008, 17h04
  3. [Plugin][MyEclipse]Lancement d'une application J2EE
    Par ujoodha dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 20/04/2005, 15h48
  4. Détecter le lancement d'une application
    Par Neilos dans le forum Windows
    Réponses: 8
    Dernier message: 22/11/2004, 12h32
  5. Lancement d'une application en local (!)
    Par Fifoun dans le forum MFC
    Réponses: 5
    Dernier message: 12/06/2004, 17h09

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