繁体   English   中英

Settings.settings文件保持重置

[英]Settings.settings File Keeps Getting Reset

在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文件是根据当前版本号保存的,基本上是一个“功能”,其中设置不保存在机器上同一程序的不同版本之间。 假设您在编译时自动增加版本号(在AssemblyInfo.cs中为1.0。*),每次编译新版本时都会重置设置。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM