ClickOnce 和 .NET 5:用户设置未更新

Posted

技术标签:

【中文标题】ClickOnce 和 .NET 5:用户设置未更新【英文标题】:ClickOnce and .NET 5: User settings not updated 【发布时间】:2022-01-12 19:43:27 【问题描述】:

我已将我的一个 WPF 应用程序从 .NET Framework 4.7 更新到 .NET 5。它使用 ClickOnce 安装程序来安装更新。由于更改为 .NET 5,我使用 AssemblyVersion 来设置版本,而不是依赖 ClickOnce 版本,但也设置了 ClickOnce ApplicationVersion。

此外,我正在使用应用程序设置(user.config 文件)来存储一些用户设置。自 .NET 5 更新以来,用户设置总是在更新后被删除。我认为这是因为 AssemblyVersion 不同,但据我了解this site,配置文件应该由 ClickOnce 自动合并。

Settings.Default.Upgrade() 也没有改变任何东西。更新版本的user.config 仍然不存在,因此无法从以前的版本加载任何设置。

我理解错了吗?它应该工作还是我必须改变什么?

提前感谢您的帮助:)

【问题讨论】:

您是否检查过:“当您填充应用程序清单时,您必须确保此文件包含在您的应用程序的其他文件中。” 我真的不明白这意味着什么。我在哪里可以将此文件添加到“其他文件”?我的意思是我的项目中只有 Settings.settings 文件,没有“user.config”文件。我不使用 mage.exe - 至少不直接使用。我只是在执行 `msbuild /target:publish'。 【参考方案1】:

我也遇到了同样的问题。签署 WPF 项目的程序集对我有用并解决了问题。

项目属性 -> 唱歌 -> “签署程序集” 创建强名称密钥文件

【讨论】:

很好,这似乎有效。为什么这没有记录?近半年的困惑o.O

以上是关于ClickOnce 和 .NET 5:用户设置未更新的主要内容,如果未能解决你的问题,请参考以下文章

.NET ClickOnce 没有安装必备文件?

当最终用户正在安装所需的 .NET 运行时时,ClickOnce 应用程序发布失败

每个新的 ClickOnce 部署版本都会丢失 VB.NET “My.Settings”

ClickOnce 完成卸载

ieclickonce设置

不要用 clickonce 覆盖 settings.settings 文件