【发布时间】:2011-06-08 05:11:45
【问题描述】:
我们正在尝试发布 ClickOnce 应用程序,但我们不得不使用 MSBuild 这样做,因为我们遇到了 Visual Studio 错误,Visual Studio 愚蠢地坚持重新启用“应用程序应检查更新” ,这是我们不想要的。
使用 MSBuild 不会受此影响,但它不会产生与使用 Visual Studio 的“发布...”相同的输出(尽管 MSDN 这么说)。我们在构建后事件中混淆了代码,MSBuild 似乎在过程中的错误点对应用程序清单进行了签名。
为了记录,我们使用以下 MSBuild 命令行:
msbuild /t:Publish
使用 MSBuild 并启用混淆会产生输出,但是当我尝试从生成的清单安装应用程序时,我收到以下 ClickOnce 错误:
* Activation of http://download.foo.com/Test/Foo.application resulted in exception. Following failure messages were detected:
+ File, Foo.exe, has a different computed hash than specified in manifest.
禁用混淆不会产生此错误,但显然我们不会发布未经混淆的代码。
我尝试使用 MageUI 重新签署清单,但这似乎无法解决问题。
我的问题是:Visual Studio 有什么不同?它是否使用不同的 MSBuild 目标?如果有,是哪一个?如何解决我的证书问题?
【问题讨论】:
标签: visual-studio-2010 msbuild clickonce publish