通过 Click once 部署在更新中持久化 app.config 变量 [英] Persisting app.config variables in updates via Click once deployment
问题描述
每次单击一次应用程序发布新更新时,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屋!