打开其他程序的配置文件

aki*_*kif 10 .net c# configurationmanager app-config

我有一个程序A,它还有一个app.config文件,我在其中添加了一些密钥,如服务器地址,用户名和密码,用于连接服务器.它是一个控制台应用程序.现在我想制作一个我已经完成的UI.在那个UI中,我想修改程序A的app.config的内容.我怎么做?

这是我尝试的,我将UI(基本上是.exe)复制到程序A的目录,app.config也驻留在该目录中.然后在UI中,我使用ConfigurationManager类的OpenExeConfiguration方法,并将程序A的文件名作为参数传递.但它抛出类型System.Configuration.ConfigurationErrorsException的异常.

所以我认为我的方法不正确.我该怎么办?

编辑:哦,我忘了告诉我正在使用C#,.NET 3.5和VS 2008(如果有帮助:D)

Nei*_*ell 14

我不确定你的方法有什么问题(尝试将堆栈跟踪添加到你的帖子中),但这就是我的方法:

var configMap = 
    new ExeConfigurationFileMap
    {
        ExeConfigFilename = externalConfigurationFile
    };
System.Configuration.Configuration externalConfiguration =
    ConfigurationManager.OpenMappedExeConfiguration(
        configMap,
        ConfigurationUserLevel.None);

foreach (var setting in externalConfiguration.AppSettings.Settings)
{
    ...
}

externalConfiguration.Save(ConfigurationSaveMode.Full);
Run Code Online (Sandbox Code Playgroud)