Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net User.Settings文件在ClickOnce更新时还原值_.net_Winforms_Clickonce_Settings - Fatal编程技术网

.net User.Settings文件在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

我已经阅读了这里关于这个问题的大量问题,甚至发表了我自己的一篇文章,试图弄清这个问题的真相()。不幸的是,他们都没有回答我的问题。每当我通过ClickOnce部署更新时,我的
.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才能工作它是…。还有什么需要做的吗?