【发布时间】:2014-09-17 20:27:22
【问题描述】:
我目前正在使用 C# 开发 Microsft Word 应用程序级插件。我的应用程序包含一个 app.config 文件。在这个文件中,我保存了用户设置(userSettings-Section)和一些由自定义 ConfigurationSection 定义的数据。存储在自定义 ConfigurationSection 中的数据也是用户特定的。
我访问用户设置如下:
Properties.Settings.Default.MyUserSetting
我使用的自定义 ConfigurationSection 如下:
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal)
.GetSection("MyCustomConfigurationSection")
我的问题是:
我什至是否以“正确”的方式使用 app.config? (我知道可能不仅有一种正确的方式,“我的方式”也是其中之一吗?)
Propeties.Settings.Default 使用哪个 ConfigurationUserLevel?有没有办法设置/更改它?
最重要的是:有没有办法在我的应用程序升级期间自动保留用户特定的设置,但同时添加新创建的设置?
我使用使用 WiX 构建的安装程序部署我的插件。目前我使用 CustomActions,它为每个添加/删除/更改的设置手动插入代码。但我想知道是否有内置的方法可以做到这一点。
【问题讨论】:
-
我没有使用插件的经验,但 .NET 应用程序支持多个配置文件。您可能会发现此示例很有用CodePlex: Handle multiple configuration files
-
似乎您必须提供完整的 xPath 作为字符串才能获取值。我宁愿继续通过属性访问它们。
标签: c# app-config upgrade