En règle générale à partir d'une classe j'accède au app.config de mon application via ConfigurationManager.AppSettings["mykey"]. Ce qui me retourne la valeur de "mykey". Cela fonctionne parfaitement lorsque j'ai un seul projet dans ma solution.

Auparavant pour créer une dll et l'application qui l'utilise j'ouvrais deux visual studio... un ou je créais ma dll et l'autre ou je créais mon appli qui utilisait ma dll, je ne trouvais pas ca très pratique... J'ai donc créé une solution avec deux projets, un pour ma dll et un pour l'appli. Dans le projet de ma dll j'ai rajouté un fichier de config app.config et une classe Database. Dans le constructeur j'ai rajouté un simple MessageBox qui m'affiche la valeur d'une clé de mon app.config... problème, lorsque je crée une instance de ma classe Database à partir de mon appli la valeur de ma clé n'est pas retourné (null).

Pour être plus clair quelques extraits de code et ma solution :

ma solution :



le app.config :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Micros" value="Sybase9"/>
  </appSettings> 
</configuration>
le code du bouton de frmMain créant une instance de Database :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
private void button1_Click(object sender, EventArgs e)
        {
            LVClassLib.Database db = new LVClassLib.Database();
        }
La classe Database :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public class Database
    {
        public Database()
        {
            MessageBox.Show(ConfigurationManager.AppSettings["Micros"]);
        }
 
    }
Lorsque je clique sur le bouton ConfigurationManager.AppSettings["Micros"] me renvoie null et le message de messagebox est donc vide alors que pour moi cela devrait m'afficher "Sybase9".

Merci d'avance pour votre aide.