小编Tyl*_*els的帖子

更改装配/文件版本后保留用户的设置

背景
我有一个用C#编写的简单WinForms应用程序.我讨论了一段时间的部署解决方案,但最终决定放弃ClickOnce,因为一些约束条件具有至关重要的限制性.

相反,我已经修改了一个简单的解决方案,通过程序集/文件版本(我保持同步)在应用程序的属性中对应用程序进行版本控制.我正在通过安装项目(*.msi)进行部署.我将最新的程序集版本号在线存储在XML文件中,以及最新的安装程序文件.在运行时,我只需在线检查Application.ProductVersion对照最新版本,如果有更新,则打开更新对话框.

问题
到目前为止,这种方法运作良好,但我最近注意到这种方法存在一个主要问题.更新应用程序的程序集版本时,将在AppData/Company/Product/Version/blahblahblah中创建新版本的用户设置文件(user.config).这显然迫使用户重置新版本中的所有内容.

建议的解决方案
我不知道如何继续.到目前为止,该应用程序只有1个版本,目前的用户群基本上是我可以乞求测试它的人,所以切换策略没什么大不了的.我考虑过:

1.)编写我自己的设置系统,从而完全控制设置文件的存储和使用位置/方式.
2.)重新考虑我的版本控制/更新策略,以便更新不基于程序集版本.我不确定如何做到这一点,但我的测试似乎表明即使构建和安装具有相同程序集版本的新版本仍会破坏user.config.

我想我真的在问什么是否有任何方法可以保留默认设置系统,因为它很容易使用,同时也适应我的部署策略.

.net c# versioning settings winforms

22
推荐指数
2
解决办法
4636
查看次数

标签 统计

.net ×1

c# ×1

settings ×1

versioning ×1

winforms ×1