【问题标题】:.net cross-application configuration settings.net 跨应用程序配置设置
【发布时间】:2012-03-04 21:13:15
【问题描述】:

如何在 .net 桌面应用程序之间共享配置数据?我以前使用过一个常见的 .ini 文件,但现在当过渡到 .net 时,我想知道这是否不再是首选方式? App.config 看起来更像是一个应用程序特定的文件,而不是一个常见的配置文件,我不知道如何在那里写入设置,因为 ConfigurationManager.AppSettings.Set(...) 似乎实际上并没有写入任何更改。

【问题讨论】:

  • 你也可以使用 machine.config 这个

标签: c# .net app-config configuration-files


【解决方案1】:

可以通过configSource属性将配置部分重定向到外部文件,

http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.configsource.aspx

因此您可以将常用设置放在这样的文件中,并将其加载到多个 app.config 文件中。

【讨论】:

  • 重定向文件的范围是什么?它必须在 .exe 的文件夹中或之下,还是可以在文件系统中的任何位置?
  • 不确定这是否可行。我相当确定(至少在网络环境中)配置源必须在同一个“~”应用程序目录中。
  • 这不仅仅是定位文件,用户这样做至少需要读写权限。中等大小的蠕虫罐头。 Sneaky Pete 建议,让用户/创建/定位配置文件。找不到或不打扰一组合理的默认值。这样你就可以把所有的管理信息留给他们,如果他们愿意,他们甚至可以分享。
  • 我再次遇到了持久更改的问题。如果我引用外部 .config 文件,然后使用 ConfigurationManager.getSection(...) 加载它,我将如何更改配置设置?也许我的问题在这里不清楚,对不起。我确实想在运行时编写设置。
  • ConfigurationManager.GetSection 永远不会让您有机会编写任何设置,msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 2011-01-30
  • 1970-01-01
  • 2010-09-15
相关资源
最近更新 更多