我有一个程序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)
解决方法
我不确定您的方法的问题(尝试将堆栈跟踪添加到您的帖子),但这是我如何做:
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);