【问题标题】:Open other program's configuration files打开其他程序的配置文件
【发布时间】:2010-10-30 15:06:31
【问题描述】:

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

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

所以我认为我的方法是不正确的。我该怎么做?

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

【问题讨论】:

  • 能否添加调用 OpenExeConfiguration 的代码示例,以及有关异常的更多详细信息?

标签: c# .net app-config configurationmanager


【解决方案1】:

我不确定您的方法是否存在问题(尝试将堆栈跟踪添加到您的帖子中),但我就是这样做的:

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);

【讨论】:

  • 我认为最后一行应该是 externalConfiguration.Save 而不是 currentConfiguration.Save
猜你喜欢
  • 2019-01-07
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-17
  • 2013-03-09
  • 1970-01-01
相关资源
最近更新 更多