c# - 发布了一个 ClickOnce 应用程序,它不断重置其设置

标签 c# visual-studio-2010 settings clickonce publish

我已经使用 Visual Studio 2010 的发布功能部署了这个应用程序;它需要保存一些用户设置(例如数据库连接信息),并且有这台特定的计算机以某种方式不断重置应用程序的设置。 最让我困惑的部分是我无法弄清楚在什么情况下会发生这种情况或发生这种情况的原因。 我知道设置设置正确,因为该应用程序在 6 或 7 台其他计算机上运行良好。

什么可能正在删除应用程序的设置? 或者,您建议我用什么来存储这些设置?加密文件?

编辑: 我正在使用默认的应用程序设置。它们在 app.config 文件中定义。 可以使用 Properties.Settings.Default.propertyName

访问它们

最佳答案

如果您有用户级别的设置,当用户获得更新时,ClickOnce 应该将它们复制到下一个版本的缓存中。在某些情况下,它不会向前复制文件,例如当您更改证书时。

应用程序级别的设置不会保留并转入下一版本。

我不推荐使用和依赖这种机制。您可能想查看 this article about keeping your data safe from ClickOnce updates .我们推出了自己的配置管理器,并将数据存储为 XML,并按照该文章中的说明进行存储。这样,您就可以控制数据发生的情况。

唯一的缺点是当用户卸载应用程序时,它会留下这些数据。另一方面,当用户卸载应用程序时,它会留下他的数据,所以如果他因为遇到问题而卸载它,或者因为他遇到问题而清除他的 ClickOnce 缓存,那么当他安装新版本时,他的数据还在。

关于c# - 发布了一个 ClickOnce 应用程序,它不断重置其设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058835/

相关文章:

c# - 在 .NET 中将整个数据库从一台服务器复制到另一台服务器

iphone - iOS 5 之前的定位服务和设置

file - 按文件类型更改 Vim 缩进行为

C++,VS2010 : Avoid downloading MS redistrubutable package. 静态链接?

android - 在输入编辑文本时获取电子邮件建议?

c# - UWP VisualTreeHelper.GetParent() 返回 null

c# - 如何将MEF导入导出信息持久化到磁盘

c# - CS0234 类型或命名空间名称 'Owin' 在命名空间 'Microsoft' 中不存在

vb.net - 在 Visual Basic 2010 的控件中显示 PDF

visual-studio-2010 - 如何在 Visual Studio 2010 中禁用 AnkhSVN?