如何在执行升级时正确修补用户的App.config?
覆盖旧文件是有问题的,因为配置更改会丢失,但是,如果添加新值/更改旧值,我不能只保留旧值。
答案 0 :(得分:0)
嗯,这取决于您如何处理升级过程以及您为次要/主要版本升级进行高级设计和计划的程度。正如其中一条评论所说,它背后没有真正的火箭科学,你只是在处理xml文件。此外,.NET Framework中有一个设计良好的内置API,允许开发人员处理驻留在System.Configuration
命名空间中的配置文件。
现在,我在做桌面开发的时候(旧学校的方式......我认为没有太大的变化)我做了这个...我有一个带有两个端点的网络服务暴露了最新版本的应用程序和另一个暴露最新应用程序安装程序的打包版本的应用程序,安装在最终用户桌面上的应用程序将在每次用户启动应用程序时调用此服务,如果可用的升级应用程序将启动一个单独的进程(updater)来处理版本迁移和安装。这将负责所有设置迁移,包括配置文件,本地存储(如果有)等。
我并不是说它是最好的解决方案或任何东西,但它为您提供了很多灵活性和对流程的控制,最重要的是它可以工作。这与许多大型软件公司遵循的过程完全相同。但是,它确实需要一些计划。
答案 1 :(得分:0)
我现在使用的解决方案是将机器特定设置应用于user.config
。效果很好!