使用 MSBuild 发布 ClickOnce 应用程序时出现以下错误。我有一个发布前任务,它在发布之前将正确的 app.config 文件复制到项目中,这是我认为可能导致此错误的唯一原因。我该如何纠正?
检测到以下失败消息:文件 MyApplication.exe.config 的计算哈希值与清单中指定的不同。
您在生成哈希后复制文件。
您需要在 BUILD 期间和 PUBLISH 之前复制文件。ClickOnce 机制认为存在篡改。
Brett 的回答是正确的,GenerateManifests目标在CoreBuild目标(在 Microsoft.Common.targets 中)的中间运行,因此更新构建文件的最佳位置是在BeforeBuild中。
我猜您切换 app.config 的原因是将配置替换为对您要发布的环境也具有正确值的配置?如果是这种情况,请阅读我发布到多个环境的帖子......将有助于回答诸如“如何覆盖 BeforeBuild 目标?”之类的问题。
在项目属性的签名选项卡下签署单击一次清单并(重新)为您的应用程序创建一个测试证书......这为我解决了问题。祝你好运