ConfigurationManager retourner la valeur null à la place de la chaîne de valeurs

Je suis en train de récupérer des valeurs à partir de mon Application.fichier de configuration qui est stocké dans mon répertoire de travail, cependant quand je lance le programme, elle renvoie null. Je ne comprends vraiment pas pourquoi il en est ainsi, et avoir examiné le code plusieurs fois dans une tentative de repérer une erreur.

Ici est l'une de mes applications.fichier de configuration de code:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="provider" value="System.Data.SqlClient" />
  </appSettings>
  <connectionStrings>
    <add name="connection" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=Autos;Integrated Security=True;Pooling=False" />
  </connectionStrings>
</configuration>

Voici mon code C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.Common;

namespace DataProviderFun
{
  class Program
  {
    static void Main(string[] args)
    {
      string p = ConfigurationManager.AppSettings["provider"];
      string c = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;

      ...

Lorsque j'exécute ce code, p = null et c = null.

J'ai référencé System.Configuration.dll.

Est votre application.config être déployé correctement avec votre exécutable?.. C'est à dire: dans l'exécution de répertoire existe-t-il un ApplicationName.exe.config fichier?
App.La Config est le modèle utilisé. Le vrai fichier de configuration va être le "Programme.Exe.Config de fichier". Cela doit être fait lorsque vous compilez le projet.
Avez-vous, par hasard, ajout de la config pour un projet de DLL?

OriginalL'auteur TheBoss | 2010-12-01