每次为单击一次的应用程序发布新更新时,app.config文件中的变量都会被销毁

<userSettings>
    <app.My.MySettings>
      <setting name="Email" serializeAs="String">
        <value />
      </setting>
      <setting name="UserName" serializeAs="String">
        <value />
      </setting>
    </app.My.MySettings>
  </userSettings>

我该如何防止这种情况?

有没有办法从以前的应用程序版本中获取变量?

有帮助吗?

解决方案

您是否有“应用程序应检查更新”?选项检查?

查看探索持久应用程序设置的秘密(本节标题为“维护程序版本之间的设置”:)

  

对于当前的任何设置   匹配设置的版本   在以前的版本中,这个例程会   将它们导入当前版本   user.config文件:

在程序的入口点,放置以下代码。

if (Properties.Settings.Default.UpgradeSettings) 
{
   Properties.Settings.Default.Upgrade();
   Properties.Settings.Default.UpgradeSettings = false;
}

请注意,UpgradeSettings是一个布尔用户设置(不是应用程序),您需要自己添加,并且您希望默认值为 True

其他提示

如果您使用用户级设置而不是应用程序级设置,则会在检索到新版本时将其向前复制。 但最安全的做法是将这些数据与ClickOnce更新分开,呃,“经验”。看看这是否有帮助:

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top