ConfigurationManager.AppSettings Renvoie La Valeur Null Dans Le Projet De Tests Unitaires

J'ai un C# projet de test d'unité avec les paramètres de l'application dans le app.config fichier. Je suis en train de tester une classe qui existe dans un autre projet. Cette classe dépend à la fois, ConfigurationManager.AppSettings et ConfigurationManager.ConnectionStrings.

Le projet de la classe testée réside dans le fait de ne pas avoir une application.fichier de configuration. J'aurais pensé que parce que la classe est instanciée dans le cadre du projet de test d'unité qu'il utiliserait le projet de tests unitaires de l'application.fichier de configuration. En effet, il semble que ce soit le cas pour la chaîne de connexion.

La classe récupère la chaîne de connexion, sans aucun problème. Toutefois, lorsque la classe tente de récupérer tous les paramètres de l'application configuration manager renvoie toujours null. Ce qui se passe ici?

Edit 1

Je pensais que ça serait une bonne idée d'essayer de charger certains paramètres dans le projet de test pour voir ce qui se passe. J'ai essayé de charger le réglage de l'unité de test juste avant d'appeler le code qui instancie la classe dans le projet externe. Même résultat, rien. Je suppose que je peux exclure l'autre projet à partir de l'équation pour l'instant.

Voici un extrait de mon fichier de config:

<configSections>
  <sectionGroup name="applicationSettings"
                type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
    <section name="MyNamespace.Properties.Settings"
             type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
             requirePermission="false" />
  </sectionGroup>
</configSections>

...

<applicationSettings>
  <MyNamespace.Properties.Settings>
    <setting name="Bing_Key"
             serializeAs="String">
      <value>...</value>
    </setting>
  </MyNamespace.Properties.Settings>
</applicationSettings>

et voici comment je m'y suis essayer de charger le paramètre:

string test = System.Configuration.ConfigurationManager.AppSettings["Bing_Key"];
Avez-vous vérifier que l'action de génération de l'Application.fichier de configuration doit être Contenu et que la Copie vers le Répertoire de Sortie réglage doit être "Copier si plus récent."
Aucune de ces choses ont été fixés, comme vous l'avez décrit. Changer ne résout pas le problème.
Dans votre app.config, faire la config types de sections et les espaces de noms correspondent CM.AppSettings espace de noms?
Avez-vous copiées à la section appSettings et le coller dans le projet de tests unitaires de l'application.config?
Avez-vous essayé d'ajouter le fichier de configuration pour votre projet en tant que lien dans votre projet de test? Le projet de test ont une référence à System.Configuration?

OriginalL'auteur Jason Boyd | 2014-06-19