通过单击一次部署在更新中保留app.config变量
-
05-07-2019 - |
题
每次为单击一次的应用程序发布新更新时,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更新分开,呃,“经验”。看看这是否有帮助:
不隶属于 StackOverflow