【发布时间】:2012-07-03 00:44:17
【问题描述】:
我制作了一个小型 GUI,用于管理 app.config 文件中的一些设置。 GUI 作为我产品的一部分发布,可以更改 app.config 文件中的值,而无需在文本编辑器中打开它。
属性在自定义 configSection 中实现,使其在代码中具有强类型。我的问题是,当 app.config 文件更新时(当我从 GUI 保存时),我的程序集的完全限定名称写在 configSection 中,如下所示:
<section name="ConfigurationSettings" type="PerformanceDude.MSBuildShellExtension.Common.ConfigurationSettings, Common, Version=2.2.1.0, Culture=neutral, PublicKeyToken=1ab1b15115e63xxx" />
当我将此程序集升级到新版本号时,GUI 代码程序集版本不再与 app.config 中的程序集引用匹配。
这是我加载设置的方式:
var config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() { ExeConfigFilename = ConfigFilePath }, ConfigurationUserLevel.None);
var settings = Config.GetSection("ConfigurationSettings") as ConfigurationSettings;
这是我保存设置的方式:
config.Save(ConfigurationSaveMode.Minimal, true);
我不想在每次更新时都编写升级脚本来更改版本。有谁知道解决这个问题的好方法吗?
【问题讨论】:
-
是否可以包含用于序列化和保存配置的代码?
-
加载和保存代码现在在描述中:)
-
你有没有想过解决这个问题?
-
不记得了。不这么认为。
标签: c# .net configuration app-config config