通过 Click once 部署在更新中持久化 app.config 变量 [英] Persisting app.config variables in updates via Click once deployment

查看:29
本文介绍了通过 Click once 部署在更新中持久化 app.config 变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Every time a new update is released for an application with click once, the variables in the app.config file are destroyed

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

我怎样才能防止这种情况发生?

How can i prevent that?

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

Is there any way of feching the variables from the previous application version?

推荐答案

您是否选中了应用程序应检查更新"选项?

Do you have the "Applications should check for updates" option checked?

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

Have a look at Exploring Secrets of Persistent Application Settings (the section titled "Maintaining Settings Between Program Versions"):

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

For any settings from the current version that match settings in the prior version, this routine will import them into the current version's user.config file:

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

At the entry point to your program, place the following code.

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

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

Note that UpgradeSettings is a boolean user setting (not application) that you need to add yourself, and you want the default value to be True.

这篇关于通过 Click once 部署在更新中持久化 app.config 变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆