我们有一个 silverlight(5) 项目,TFS (2010) 和持续集成构建中的源代码已经设置好并且运行良好。但是,我们现在正处于尝试将其发布给一些用户以让他们使用它并提供反馈的阶段。我已经设置了代码,以便它检查更新,如果有更新,它会下载最新的 xap 文件。但是,这需要对 xap 文件进行签名。在我们的开发机器上执行此操作时没有问题,但是当涉及到自动构建时,它会失败,并显示消息
Xap 打包失败。找不到签名工具 SignTool.exe。
我已经尝试了很多方法来让 signtool 被识别并且不能。然而,在 CI 构建中我们实际上并不需要这个,所以我尝试了第二个策略,即使 postbuild 事件以在 VisualStudio 中运行为条件。在 SO 上遵循了各种建议,但无法让它们工作。
构建后事件是
if "$(BuildingInsideVisualStudio)" == "true" (
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe" sign /f "$(SolutionDir)castle.pfx" "$(TargetDir)Castle.xap"
copy "$(TargetDir)Castle.xap" "$(SolutionDir)Castle.Web\ClientBin"
)
仍然没有喜悦。已经尝试了多种变体,但始终从自动构建中获得相同的消息。
那么任何人都可以帮助a)在构建服务器上识别签名工具或b)让自动构建跳过postbuild事件吗?