User.Settings文件在ClickOnce更新时恢复值

时间:2011-09-16 15:15:50

标签: .net winforms clickonce settings

我已经在这里阅读了很多问题,甚至发布了我自己的一个试图深入研究(My Previous Question)。不幸的是,他们都没有回答我的问题。每当我通过ClickOnce部署更新时,我的.Settings文件都会重置。我认为ClickOnce应该为我处理这类事情,但由于它似乎没有,我实现了.Upgrade()设置标志如下:

if (Settings.Default.MustUpgradeSettings)
        {
            Settings.Default.Upgrade();
            Settings.Default.MustUpgradeSettings = false;
            Settings.Default.Save();
        }

我检查OnLoad()。我错过了什么吗?这让我疯狂!


我也在MSDN上发布了这个帖子HERE,到目前为止,他们的帮助甚至更少。我只是知道,当这一切都结束时,我会最终得到“鸡蛋和我的脸一致”,我希望有人可以为我指出这一点......

2 个答案:

答案 0 :(得分:1)

我相信应该这样做,至少从我在这里读到的内容。

http://msdn.microsoft.com/en-us/library/ms228995.aspx

正如ClickOnce应用程序的每个版本与所有其他版本隔离一样,ClickOnce应用程序的应用程序设置也与其他版本的设置隔离。当您的用户升级到更高版本的应用程序时,应用程序设置会将最新(编号最高)版本的设置与更新版本提供的设置进行比较,并将设置合并到一组新的设置文件中。

答案 1 :(得分:-1)

仅供参考:对我来说也不适用。 它应该做的一切,它没有(MustUpgradeSettings没有被检测为true,但无论升级功能如何都不起作用.GetPreviousSettings函数也返回默认值。 不明白为什么没有其他关于这个的抱怨

可能的解决方案是DIY