我在一些用户数据的设置 () 中使用了一个可序列化的(我们称之为Gs
)类。user.config
但是,有时当我在 VS2012 中重新编译我的应用程序时,设置消失了,这意味着重置为默认值(基本上是在使用的类的构造函数中设置的默认值)。在其他情况下,它们会持续存在。
其实我想知道这是什么时候发生的。首先我想,每当我改变时Gs
。但这是不正确的,有时我对类进行了相当多的更改,但是在运行应用程序进行测试时,更改的值仍保持以前存储的状态。
另一方面,值被重置,没有任何变化Gs
。下一个理论是每当我更改项目的版本号时。的路径user.config
包含版本号。这可能是原因吗?但对于 ClickOnce 应用程序,更改版本号不会影响设置。有时这些值会在不更改版本号的情况下重置。
那么,当磁盘上的序列化值被清除并且更改没有影响时,规则是什么。猜测是组合,改了版本号or
还有其他原因。