2011-06-03 77 views
16

指定我一直在尝试通过ClickOnce的ClickOnce部署错误:不同的计算散列比清单

部署
File, image.jpg, has a different computed hash than specified in manifest. 

我意识到,这是一个有很多谷歌的结果,但我的一个错误,当跨越这个错误运行一直无法解决这个问题。奇怪的是,这个ClickOnce软件包已经部署在各种其他机器上(至少30个),没有任何问题 - 这只发生在一台使用Windows 7和x64的特定机器上。

一方面,我检查了清单文件和版本号不匹配,因为他们应该和我听说这可能是错误的原因。这没有任何意义,因为我检查了服务器上的文件,并且在那里一切都匹配。

另一方面,我知道这个软件包可以在其他机器上工作,这是第一台遇到这个错误的机器。

最后,我也尝试了所有“常用”修复。我已经签署了软件包,我已经从部署服务器中删除了所有文件,我已经清理,重建并重新部署了应用程序,但都没有工作。

帮助!

回答

3

您需要重新生成应用程序清单。当您更改文件内容并且不相应地更新您的清单时,会发生这种情况。

Mage.exe MSDN Docs

+2

这并不能解释为什么有时候做一个Clean \ Rebuild \ Publish可以解决这个问题,有时它不会。我最大的问题是,VS并没有警告我,它只是创建了一个“坏”的Excel Addin VSTO文件...所以在发布和部署我的Addins之后,我必须手动将它们安装在我的机器上,以检查它们是否真的会工作与否。 – 2016-01-14 10:19:03

+1

当VS有足够的能力产生一个有效的ClickOnce部署时,当行星仍然对齐时,它不应该是人们摆弄清单文件的必要条件。 ;)[告诉我更多](http://stackoverflow.com/a/34718733/585968) – MickyD 2016-03-15 08:43:19

-2

你需要从你的debug文件夹中的所有文件删除,需要重新生成应用程序清单。当您更改文件内容并且不相应地更新您的清单时,会发生这种情况。

+1

你似乎是**剽窃** [BentOnCoding的答案](http://stackoverflow.com/a/6231271/585968 )关于_“这发生在您更改文件内容并且不相应更新您的清单时。”_ – MickyD 2016-03-15 08:33:18

2

我们使用相同的URL部署到2台服务器,路由器负载平衡。部署到2台服务器导致每台服务器上的清单文件与错误之间存在差异。有效的方法是仅部署到一台服务器,然后将应用程序文件夹复制到其他服务器。