2010-12-03 5 views
0

J'ai une solution avec 4 projets dans lequel tous interagissent les uns avec les autres. Chaque projet contient son propre fichier app.config nommé 'app.config' et peut parfois contenir les mêmes champs appsettings. Toutefois, pour une raison quelconque, lorsque vous appelez un project.method d'un autre, lors de son initialisation, il appelle le fichier app.config de la méthode projet appelant. Cela ne devrait pas être le cas puisque je sais que chaque projet est compilé avec son propre fichier de configuration.app.config fichier mélanger pour l'application .net

o = streamSettings.GetValue("ConnectionString", GetType(String)) 
    connectionString = o.ToString() 

    o = streamSettings.GetValue("LogFileDirectory", GetType(String)) 
    logFileDirectory = o.ToString() 

Ceci est la même chose pour tous les projets, mais j'obtiens ici la mauvaise chaîne de connexion.

+1

qui est juste la façon dont les fichiers de configuration fonctionnent par défaut – hunter

+0

comment pourrais-je distinguer alors ou séparer les fichiers – vbNewbie

Répondre

1

Y a-t-il des projets DLL par hasard?

Le système de configuration .NET associe le fichier APP.CONFIG à un PROCESSUS et non à une image exécutable. Donc, disons que vous avez une solution avec ProjectA (un EXE) et projet b (une DLL).

projet références Un projet B et remet en projet B.

Dans le projet A, appelle config méthodes vont tirer de App.config du projet A.

Une fois que le projet A remet en projet b, le code dans le projet B finiront également se référant au fichier de configuration du projet A, juste à la recherche dans les sections définies dans le projet B.

c'est bizarre et assez unweildy, mais semble être intentionnel

Il existe cependant quelques articles sur le Web sur la façon de configurer une DLL afin qu'elle lise à partir de son fichier de configuration OWN.

est ici un de lui-même SO

C# DLL config file

Questions connexes