.net User.Settings文件在ClickOnce更新时还原值
我已经阅读了这里关于这个问题的大量问题,甚至发表了我自己的一篇文章,试图弄清这个问题的真相()。不幸的是,他们都没有回答我的问题。每当我通过ClickOnce部署更新时,我的.net User.Settings文件在ClickOnce更新时还原值,.net,winforms,clickonce,settings,.net,Winforms,Clickonce,Settings,我已经阅读了这里关于这个问题的大量问题,甚至发表了我自己的一篇文章,试图弄清这个问题的真相()。不幸的是,他们都没有回答我的问题。每当我通过ClickOnce部署更新时,我的.Settings文件get都会重置。我原以为ClickOnce应该为我处理这类事情,但似乎没有,因此我使用如下设置标志实现了.Upgrade(): if (Settings.Default.MustUpgradeSettings) { Settings.Default.Upgrade
.Settings
文件get都会重置。我原以为ClickOnce应该为我处理这类事情,但似乎没有,因此我使用如下设置标志实现了.Upgrade()
:
if (Settings.Default.MustUpgradeSettings)
{
Settings.Default.Upgrade();
Settings.Default.MustUpgradeSettings = false;
Settings.Default.Save();
}
我选中了OnLoad()
。我错过什么了吗?这真的快把我逼疯了
我也在MSDN上发布了这篇文章,到目前为止,他们的帮助甚至更少。我只知道,当这一切结束时,我将以“鸡蛋和我的脸对齐”结束。我只希望有人能为我指出这一点…我相信它应该这样做,至少从我在这里读到的内容来看
正如ClickOnce应用程序的每个版本都与所有其他版本隔离一样,ClickOnce应用程序的应用程序设置也与其他版本的设置隔离。当用户升级到应用程序的更高版本时,应用程序设置会将最新(编号最高)版本的设置与更新版本提供的设置进行比较,并将这些设置合并到一组新的设置文件中。FYI:对我也不起作用。 它应该做的一切都不会(MustUpgradeSettings未检测到为true,但不管升级函数是否工作。GetPreviousSettings函数也返回默认值)。 我不明白为什么没有其他的抱怨
可能的解决方案是如何使其保持现有的值?它说它们与保留的非默认值合并。但它不是…。MustUpgradeSettings的默认值必须为TRUE才能工作它是…。还有什么需要做的吗?