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 :

Erreur "la référence d'objet n'est pas définie à une instance d'objet"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 35
    Par défaut Erreur "la référence d'objet n'est pas définie à une instance d'objet"
    Bonsoir tout le monde,

    je bosse avec VS 2005, je fais du c#, je fais un setup et je me prends la tete depuis qq jours sur une erreur...

    Alors voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ....
     
    XmlDocument xmlDoc1 = new XmlDocument();
    xmlDoc1.Load(CheminInetPub + strNomFichierConfig1);	
    //MessageBox.Show(xmlDoc1.LastChild.Name);
     
     
    // Modification des noeuds XML
    XmlNode logNode = xmlDoc1.SelectSingleNode("//appSettings/add[@key='strConnexionBD']");
     
    logNode.Attributes["value"].InnerText = strChaineConnexionSQL;
    ....
    ça bloque à la ligne de sélection du noeud et ça m'affiche le message d'erreur "la référence d'objet n'est pas définie à une instance d'objet". Je ne comprends pas le problème !

    Mon message box m'affiche "configuration", ce qui semble normal aussi. Mon fichier est bien chargé.

    voila le début de mon fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" ?> 
    - <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    - <appSettings>
      <add key="strConnexionBD" value=".........." /> 
      <add key="strSMTPServeur" value="........" /> 
    ....
      </appSettings>
    ....
    J'ai bien un noeud appSettings. J'ai essayé en faisant ma requete XPath autrement mais apparemment ça ne vient pas de ça. Mon fichier web.config contenant ce code xml vient d'être créer par IIS, j'ai vérifié les droits et à priori il n'y a pas de pb.

    Je ne comprends pas du tout le pb, j'ai essayé pleins de trucs, sans succès... Quelqu'un a déjà eu ce pb et pourrait m'éclairer sur le sujet ?

    Je vous remercie d'avance en tout cas parce que là, je ne vois pas... je ne vois plus rien

    Si je n'ai pas été assez clair, n'hésitez pas à me demander des précisions

    bonne soirée

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    cette erreur est une erreur d'execution ca..
    ca t'indique que tu manipules une référence vide.

    si tu fait ca

    BinaryReader br = null;
    string a = br.ReadLine();

    Ce code est syntaxiquement correct, même sémantiquement, mais pourtant ce code est invalide. En effet, il génère une exception du meme type que le tiens.

    Ce qui serait vraiment intéressant pour t'aider c'est la trace de l'exception.
    (Le stacktrace : l'état de la pile)

  3. #3
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu es sure que ça bloque à cette ligne et non à celle d'après.
    Moi j'aurais bien vu logNode = null.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 35
    Par défaut
    Oups tu as raison Skyrunner, ça bloque à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logNode.Attributes["value"].InnerText = strChaineConnexionSQL;
    En fait, dès que j'essaye d'accéder à un élément de mon noeud, ça ne marche pas. Je ne comprends pas pourquoi ça ne selectionne pas mon noeud...

    Sinon mon erreur dans le journal d'évémenements c'est :
    La description pour l'ID d'événement ( 11001 ) dans la source (MsiInstaller) est introuvable. L'ordinateur local n'a peut-être pas les informations de Registre ou les librairies requises pour afficher les messages émanant d'un ordinateur distant. Vous pourrez peut-être utiliser l'option /AUXSOURCE= pour récupérer cette description. Reportez-vous aux rubriques Aide et support pour plus de détails. Les informations suivantes font partie de l'événement : Produit*: IVS -- Erreur 1001. La référence d'objet n'est pas définie à une instance d'un objet.; (NULL); (NULL); (NULL).
    Je vais regarder pour l'état de la pile (car je ne sais pas faire )

    merci encore

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 35
    Par défaut
    Alors je me suis servie de stracktrace, peut etre pas comme il faut :
    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
    16
    17
    18
    19
     
    try
    {
    	logNode.Attributes["value"].InnerText = strChaineConnexionSQL;
    }
    catch (Exception Ex)
    {
     
    	if (Ex.InnerException != null)
    	{
    	MessageBox.Show(Ex.InnerException.Message + " ----- " + Ex.InnerException.StackTrace
    					+ " ----- " + Ex.InnerException.Source);
    	}
    	else
    	{
    	MessageBox.Show(Ex.Message + " -- " + Ex.StackTrace
    						+ " -- " + Ex.Source);
    	}
    }
    et ça m'a affiché le message suivante :
    La référence d’objet n’est pas définie à une instance d’objet –- à LibrairieSetupServeur.clsInstallerServeur.Install(IDictionnary stateSaver) -- LibrairieSetupServeur
    Ex.InnerException est null.

    J'ai peut etre pas affiché les bons trucs.... Parce que là, ça m'affiche juste le nom de la méthode qui coince mais ça je le sais déjà

  6. #6
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Tu t'embete pour rien. Il existe des classes permettant de lire un fichier de configuration (.config).

    Je te renvoie à la FAQ:
    http://faqcsharp.developpez.com/?pag...p_config_write

    et à d'autres topics:
    http://www.developpez.net/forums/sho...+configuration

    http://www.developpez.net/forums/sho...+configuration
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

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

Discussions similaires

  1. [Débutant] La référence d'objet n'est pas définie à une instance d'objet
    Par Crowww dans le forum VB.NET
    Réponses: 27
    Dernier message: 28/05/2013, 15h53
  2. Réponses: 4
    Dernier message: 08/01/2013, 12h11
  3. Réponses: 1
    Dernier message: 24/02/2011, 12h01
  4. Réponses: 4
    Dernier message: 14/04/2010, 08h47
  5. La référence d'objet n'est pas définie à une instance d'objet
    Par Delphi-ne dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/07/2009, 14h22

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