Settings.settings文件保持重置

在Visual Studio 2008中调试我的项目时,我的Settings.settings文件不断在构建之间重置。 有没有办法防止这种情况发生?

谢谢。

好的,我找到了我真正想要的答案。 基本上,您需要调用LocalFileSettingsProvider.Upgrade。 但是,由于我将使用ClickOnce进行部署,因此它会自动为您完成。


问:好的,但我怎么知道什么时候打电话给升级?

A:好问题。 在Clickonce中,当您安装新版本的应用程序时,ApplicationSettingsBase将检测它并在加载点设置时自动升级设置。 在非Clickonce情况下,没有自动升级 – 您必须自己调用升级。 以下是确定何时调用升级的一个想法:

有一个名为CallUpgrade的布尔设置,并给它一个默认值true。 当您的应用启动时,您可以执行以下操作:

if (Properties.Settings.Value.CallUpgrade) { Properties.Settings.Value.Upgrade(); Properties.Settings.Value.CallUpgrade = false; } 

这将确保仅在部署新版本后第一次运行应用程序时调用Upgrade()。

参考: http : //blogs.msdn.com/rprabhu/articles/433979.aspx

我相信Settings.settings文件是根据当前版本号保存的,基本上是一个“function”,其中设置不保存在机器上同一程序的不同版本之间。 假设您在编译时自动增加版本号(在AssemblyInfo.cs中为1.0。*),每次编译新版本时都会重置设置。

要纠正这个问题,最好的方法是将您自己的设置文件序列化到Application Data目录。

我认为您可以在文件的属性中设置(在Visual Studio中右键单击,属性),在构建/运行项目时设置“不复制”选项。 可能发生的事情是,在构建项目时,将设置文件复制到调试bin目录,从上一次运行中覆盖设置文件。

除了其他原因之外,每次调试时,Settings文件都会一直重置,因为下次调试时,您将能够再次测试整个应用程序。 不重置设置可能会导致未检测到的错误。