Deployment 通过单击一次部署在更新中持久化app.config变量
每次使用click once发布应用程序的新更新时,app.config文件中的变量都会被销毁Deployment 通过单击一次部署在更新中持久化app.config变量,deployment,visual-studio-2005,clickonce,Deployment,Visual Studio 2005,Clickonce,每次使用click once发布应用程序的新更新时,app.config文件中的变量都会被销毁 <userSettings> <app.My.MySettings> <setting name="Email" serializeAs="String"> <value /> </setting> <setting name="UserName" serializeAs="S
<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更新中分离出来,呃,“体验”。看看这是否有帮助:
请注意,UpgradeSettings是一个布尔设置,您需要自己添加,并且您希望默认值为True。奇怪的是,我的if语句总是将Properties.Settings.Default.UpgradeSettings读取为false,即使默认值为True。我必须将设置更改为名为“upgrade_settings”,以便将其读取为True,在WPF中没有[APPname].Properties.settings.Default.UpgradeSettings函数,但[Applicationname].Properties.settings.Default.upgrade()存在,并且它是无效函数@Mitch Wheat,它是否在2020年过期,vs2019年,.net 4.7?