Partage
  • Partager sur Facebook
  • Partager sur Twitter

Configuration d'une application en C#

Problème avec Configuration d'une application en C#

Sujet résolu
    21 octobre 2022 à 15:48:12

    Bonjour à tous,

    Je suis en train de suivre le cours de Apprenez à développer en C# de Nicolas Hilaire,

    Et dans la partie Configuration d'une application, j’ai rencontré un problème que je ne comprends pas sa provenance.

    Voici le fichier

    Programm.cs

    using System.Reflection;
    using System.Configuration;
    using System.Collections.Specialized;
    using System.Collections;
    
    public class Program
    {
        private static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!  \tFichierDeConfiguration");
            ConnectionStringSettings chaineBdd1 = ConfigurationManager.ConnectionStrings["MaConnection1"];
            ConnectionStringSettings chaineConnexion = ConfigurationManager.ConnectionStrings["MaConnection1"];
            Console.WriteLine(chaineConnexion.Name);
            Console.WriteLine(chaineConnexion.ConnectionString);
            Console.WriteLine(chaineConnexion.ProviderName);
        }
    }
    


    Et voici le fichier

    App.config

    <configuration>
      <connectionStrings>
        <add name ="MaConnection1" providerName ="System.Data.SqlClient" connectionString ="Data Source =.\SQLEXPRESS ; Initial Catalog = Base1 ; Integrated Security = true"/>
        <add name ="MaConnection2" providerName ="System.Data.SqlClient" connectionString ="Data Source =.\SQLEXPRESS ; Initial Catalog = Base2 ; Integrated Security = true"/>
      </connectionStrings>
    </configuration>
    


    Et voici l’erreur provoquée

    Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
       at Program.Main(String[] args) in D:\Fichiers_applications\C#\Revisions\MaPremiereApplication\FichierDeConfiguration\Program.cs:line 30
    


    la ligne 30 et la ligne en rouge dans le Main

    Merci d'avance pour votre  aide




    • Partager sur Facebook
    • Partager sur Twitter
      21 octobre 2022 à 16:47:36

      Vérifie que tu n'as pas fait d'erreur de frappe dans les noms de ton app.config et au niveau des lignes 11, 12 du code montré
      • Partager sur Facebook
      • Partager sur Twitter
        21 octobre 2022 à 17:21:07

        Bonjour,

        Que viens faire de l'HTML dans un programme C# ?

        • Partager sur Facebook
        • Partager sur Twitter
          21 octobre 2022 à 17:31:52

          Merci de me répondre umfred,

          Par contre non il n'y a pas d'erreur de frappe, ça m'a tellement pris la tête que j'ai fini par faire un copier coller du cours, et c'est toujours le même problème. par contre j'ai plusieurs fichiers de configuration : App.config, App1.config et App2.config et qui ne sont pas les même bien-sûr

          • Partager sur Facebook
          • Partager sur Twitter
            21 octobre 2022 à 17:56:19

            tu modifies bien celui qui est apparait dans l'arborescence du projet dans visual studio ?

            Matioso a écrit:

            Bonjour,

            Que viens faire de l'HTML dans un programme C# ?



            c'est un fichier de configuration en XML

            -
            Edité par umfred 21 octobre 2022 à 17:57:14

            • Partager sur Facebook
            • Partager sur Twitter
              21 octobre 2022 à 18:02:00

              Il n'y a pas de HTML dans l'exemple.

              Ou je suis trop fatigué pour le voir

              • Partager sur Facebook
              • Partager sur Twitter
                21 octobre 2022 à 18:14:32

                Ah si, je pense qu'il parle de ceci:

                <span style="color:#ff0000;">Console.WriteLine(chaineConnexion.Name);</span>


                c'est quand tu as du vouloir passer la ligne de code en rouge, comme tu l'indiques dans ton message (j'ai failli le faire remarquer avant de comprendre que ça venait de l'interface du forum). 

                • Partager sur Facebook
                • Partager sur Twitter
                  21 octobre 2022 à 18:16:41

                  Ah ok merci de me le signalé, j'étais en train de chercher

                  hhh

                  Par contre franchement je ne vois pas où est l'erreur

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 octobre 2022 à 18:22:43

                    Je réitère ma question précédente: tu modifies bien le fichier app.config qui  apparait dans l'arborescence de l'arborescence du projet dans visual studio  ? 

                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 octobre 2022 à 18:28:34

                      Oui c'est bien celui là que je modifie

                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 octobre 2022 à 19:31:05

                        là tu sembles m'indiquer que c'est dans la fichier App1.config; or il faut que ce soit dans app.config !!!!!

                        Si c'est dans un autre fichier, il faut "bidouiller"

                        ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
                                    fileMap.ExeConfigFilename = @"App1.config";
                                    // relative path names possible
                        
                                    // Open another config file
                                    Configuration config =
                                       ConfigurationManager.OpenMappedExeConfiguration(fileMap,
                                       ConfigurationUserLevel.None);
                        
                                    ConnectionStringSettings chaine2 = config.ConnectionStrings.ConnectionStrings["MaConnection2"];// ("MaConnection2");// []"MaConnection2"].Name; 
                                    Console.WriteLine(chaine2.Name);

                        et indiquer de copier le fichier App1.config dans le répertorie de sortie (dans ses propriétés).

                        (source: https://www.codeproject.com/Articles/14744/Read-Write-App-Config-File-with-NET-2-0 )

                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 octobre 2022 à 15:55:27

                          Merci beaucoup umfred,

                          c'est ça la cause d'avoir App1.config comme nom de fichier, j'avais comme même un peu de suspicion, alors j'ai supprimé tous les fichiers de config App.config et App2.config et je n'ai laissé que App1.config par contre je ne l'ai pas renommé en App.config.

                          Maintenant ça marche merci encore

                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 octobre 2022 à 16:25:01

                            Mourad011122 a écrit:

                            [...] Maintenant ça marche merci encore

                            Bonjour,

                            Sujet résolu

                            Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Configuration d'une application en C#

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown