【问题标题】:App.config patches/updatesApp.config 补丁/更新
【发布时间】:2014-05-24 10:04:33
【问题描述】:

执行升级时如何正确修补用户的 App.config?

覆盖旧文件是有问题的,因为配置更改会丢失,但是,如果添加新值/更改旧值,我不能只保留旧值。

【问题讨论】:

  • 小心点?配置文件只是 XML - 您可以随时读取它并以您想要的任何方式合并...另外我认为 .Net 中没有现有的“合并配置”功能...请注意,如果您允许用户要更改单独文件中的设置(即全局与每个用户),您可以避免整个问题 - 考虑未来。

标签: c# .net configuration app-config


【解决方案1】:

嗯,这取决于您处理升级过程的方式以及您为次要/主要版本升级提前设计和计划的程度。正如其中一位 cmets 所说,它背后没有真正的火箭科学,您只是在处理 xml 文件。此外,.NET Framework 中有一个精心设计的内置 API,允许开发人员处理配置文件...位于 System.Configuration 命名空间中。

现在,我过去在进行桌面开发时已经这样做了(老派的方式...我认为没有太大变化)...我有一个 Web 服务在某处运行,有两个端点暴露了应用程序的最新版本和另一个暴露了最新应用程序安装程序的打包版本,安装在最终用户桌面上的应用程序将在用户每次启动应用程序时调用此服务,如果升级可用,应用程序将启动一个单独的进程(更新程序)来处理版本迁移和安装。这将负责所有设置迁移,包括配置文件、本地存储(如果有)等。

我并不是说它是最好的解决方案或任何东西,但它为您提供了很大的灵活性和对流程的控制,最重要的是它可以工作。这与许多大型软件公司所遵循的过程完全相同。但是,这确实需要一些计划。

【讨论】:

    【解决方案2】:

    我现在使用的解决方案是将机器特定设置应用于user.config。完美运行!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 2015-08-26
      • 1970-01-01
      相关资源
      最近更新 更多