MSBuild Click-Once问题与清单

时间:2009-11-12 21:13:22

标签: msbuild clickonce manifest

当我使用MSBuild发布ClickOnce应用程序时出现以下错误。我有一个预发布任务,它在发布之前将正确的app.config文件复制到项目中,这是我认为唯一可能导致此错误的事情。我怎么能纠正这个?

  

以下失败消息是   检测到:文件,   MyApplication.exe.config,有一个   不同的计算哈希比指定的   在清单中。

3 个答案:

答案 0 :(得分:4)

您在生成哈希后复制文件。

您需要在BUILD期间和PUBLISH之前复制文件。 ClickOnce机制认为存在篡改行为。

答案 1 :(得分:3)

Brett的回答是正确的, GenerateManifests 目标在 CoreBuild 目标(在Microsoft.Common.targets)中间运行,因此更新构建的最佳位置文件位于 BeforeBuild

我猜你正在切换app.config的原因是用一个具有正确发布环境值的配置替换配置?如果是这种情况,请在publishing to multiple environments上阅读我的帖子...将有助于回答诸如“如何覆盖BeforeBuild目标?”等问题。

答案 2 :(得分:1)

签署clickonce清单并(重新)在项目属性中的签名选项卡下为您的应用程序创建测试证书...这解决了我的问题。祝你好运