Changer D'Application.config au moment de l'Exécution

Je suis en train d'écrire un test WinForms /C# /.NET 3.5 application pour le système que nous développons et nous sommes tombés dans le besoin de basculer entre les deux .les fichiers de configuration à l'exécution, mais c'est devenu un cauchemar.

Voici la scène: les WinForms application est destinée à tester une WebApp, divisé en 5 sous-systèmes. Le processus de test fonctionne avec des messages transmis entre les sous-systèmes, et pour cette réussite du processus de chaque sous-système obtenu d'avoir un son propre .fichier de configuration.

Pour mon Test de l'Application, j'ai écrit 5 fichiers de configuration séparés. Je voudrais être en mesure de basculer entre ces 5 fichiers lors de l'exécution, mais le problème est: je peux modifier par programmation de l'application .fichier de configuration à de nombreuses reprises, mais ces changements ne prendront effet qu'une fois. J'ai été la recherche d'un temps long pour un formulaire pour remédier à ce problème, mais je n'étais toujours pas réussi.

Je connais la définition du problème, peut-être un peu confus, mais je voudrais vraiment l'apprécier si quelqu'un m'a aidé.

Merci d'avance!

--- Mise à JOUR 01-06-10 ---

Il y a quelque chose que je n'ai pas mentionné avant. À l'origine, notre système est une Application Web avec WCF appels entre chaque sous-système. Pour les tests de performances raisons (nous sommes à l'aide de FOURMIS 4), nous avons dû créer une copie locale des assemblées et de référence de la projet de test. Il peut sembler un peu mal, mais nous ne pouvions pas trouver une manière satisfaisante pour mesurer les performances d'une application à distance.

--- Fin De Mise À Jour ---

Voici ce que j'ai fais:

public void UpdateAppSettings(string key, string value)
{
    XmlDocument xmlDoc = XmlDocument.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

    foreach (XmlElement item in xmlDoc.DocumentElement)
    {
        foreach (XmlNode node in item.ChildNodes)
        {
            if (node.Name == key)
            {
                node.Attributes[0].Value = value;
                break;
            }
        }
    }

    xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

    System.Configuration.ConfigurationManager.RefreshSection("section/subSection");    
}
dup / sont-ils liés? stackoverflow.com/questions/1542171/...
J'ai déjà essayé ces aproaches... le problème est, l'étiquette, je suis en train de changer à l'extérieur <appSettings>. J'ai aussi essayé de créer de nouveaux domaines d'application et de configuration différentes .les fichiers de configuration pour eux, mais il ne fonctionne pas non plus.

OriginalL'auteur born to hula | 2010-01-05