使用 MSBuild 从 Visual Studio 2013 命令行发布 Clickonce 找不到 SignTool.exe
Posted
技术标签:
【中文标题】使用 MSBuild 从 Visual Studio 2013 命令行发布 Clickonce 找不到 SignTool.exe【英文标题】:Clickonce publishing from Visual Studio 2013 command-line with MSBuild cannot find SignTool.exe 【发布时间】:2014-07-16 20:13:31 【问题描述】:我有一个已经使用了很长时间的构建脚本,并且在 2012 年之前的所有以前的 VS 版本中都可以正常工作。迁移到 2013 年之后,构建脚本无法在构建结束时签署 ClickOnce 清单进程,并抱怨找不到SignTool.exe。
我在 64 位机器上运行 Windows 8.1,安装了完整的 Visual Studio 2013。我尝试重新安装适用于 8.1 的 Windows SDK,但是 仍然没有成功。 当我运行 在 Visual Studio 中发布。 我搜索了signtool.exe
,唯一命中的是C:\Program
Files (x86)\Microsoft SDKs\Windows\v7.1A\bin
我实际上不太擅长 MSBuild,所以我不知道我可以尝试什么或如何向 MSBuild 展示它应该在那里找到该工具。
如果有人有这样的经历,请给我一些提示。
【问题讨论】:
【参考方案1】:如果错误是“can't locate xxx”之类的错误,可能是路径搞砸了。在 VS.NET 2013 附带的 MSBuild 的 new version 中,看起来某些路径已更改。也许您现在必须更新构建文件中的相对路径?
需要您的完整构建文件来提供更多洞察力。
【讨论】:
感谢您的回答。我实际上没有“构建文件”。我正在使用带有一个命令的简单 bat 文件:使用我的项目调用 msbuild.exe,使用 /t:publish 和一些参数,如配置、平台、updateurl 等。我没有在参数中重新定义任何路径左右,而且也不在我的项目文件中。实际上,我已经在我的项目文件中搜索了某种“路径”变量定义,但找不到。我今天到达那里时会再次环顾四周。【参考方案2】:问题在于我使用的是 X64 版本的 Visual Studio Commnad Line,而不是 X86。它可能必须与我的项目目标平台匹配,因为它是 x86。从 x86 命令行构建和签名工作正常,没有任何错误。
希望这对其他人也有帮助。
【讨论】:
以上是关于使用 MSBuild 从 Visual Studio 2013 命令行发布 Clickonce 找不到 SignTool.exe的主要内容,如果未能解决你的问题,请参考以下文章
MSBuild:从 Visual Studio 中构建解决方案后运行目标
从Visual Studio构建定义UI添加MSBuild的引用搜索文件夹
是否可以从 Mono 的命令行构建 MSBuild 文件(visual studio sln)?
网站编译在 MSBuild 中失败,但在 Visual Studio 中有效