我们有一个silverlight(5)项目,TFS(2010)和Continuous Integration构建中的源代码已经安装并正常工作。但是,我们现在正处于我们试图将其发布给某些用户的阶段,以便他们使用它并提供反馈。我已经设置了代码,以便检查更新以及是否有下载最新的xap文件。但是,这需要对xap文件进行签名。在我们的开发机器上这样做时没有问题,但是当涉及到自动化构建时,它会失败,并且消息问题在TFS的后期构建事件中签署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)让自动构建跳过构建后的事件?
您能够使用资源管理器导航到TF Build服务器上的SignTool.exe吗? – TimVK 2013-03-21 13:46:33
@TimVK是的 - 如果我在命令提示符下运行等价物,它工作正常 – SteveL 2013-03-21 14:02:58
如果您使用标记脚本运行TFS构建,但没有postbuild事件中的条件,您不能在日志构建中看到“活动日志“构建在哪里寻找signtool? – TimVK 2013-03-21 14:09:11