Visual Studio 2017 使用哪个版本的 SignTool?

Posted

技术标签:

【中文标题】Visual Studio 2017 使用哪个版本的 SignTool?【英文标题】:Which version of SignTool is Visual Studio 2017 using? 【发布时间】:2017-06-12 18:12:00 【问题描述】:

我有一个项目,我从 Windows 8.1 机器上的 Visual Studio 2013 迁移到我的新工作站,即 Win 10 上的 VS 2017。在我尝试使用 ClickOnce 发布之前,一切正常。 ClickOnce 部署成功,但我无法安装已部署的应用程序。经过一番研究,我怀疑这个问题与签署清单有关。我将证书更新为 SHA 256 证书,现在我什至无法构建应用程序。我得到了错误:

SignTool 错误:无效选项:/fd

我已经安装了最新的 Windows SDK,并且我有 一个 版本的支持 /fd 的 SignTool,但我仍然在 VS 中看到错误。我的文件系统中似乎散布着许多版本的 SignTool。 我如何知道/更改 Visual Studio 试图用来签署我的代码的那个?

【问题讨论】:

对于否决这个问题的仇恨者,想知道为什么?如果问题写得不好,知道什么会使问题达到你的标准会很有帮助 【参考方案1】:

Open the Developer Command Prompt for VS2017。现在环境变量设置好了。在提示符处输入:

where signtool

现在您有了 Visual Studio 2017 正在使用的 signtool.exe 的路径。

【讨论】:

【参考方案2】:

在将旧 ClickOnce 项目从 VS2018 迁移到 VS2017 时,我遇到了相同的错误消息。

我发现(并成功)了更改注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows 以使 Windows 使用更新的 SDK 的提示(在我的情况下,SDK v8.1A 是最新的)。

原始提示可以在这里找到: https://social.msdn.microsoft.com/Forums/en-US/a39b9f82-aaec-4bbd-8cb2-3cade50796ba/an-error-occurred-while-signing-failed-to-sign-bindebugapppublishprogramexe-signtool-error (向下滚动以回答 nikidimi

【讨论】:

以上是关于Visual Studio 2017 使用哪个版本的 SignTool?的主要内容,如果未能解决你的问题,请参考以下文章

visual studio哪个版本好

Visual Studio 2012 和 Blend 哪个版本?

有没有办法确定使用哪个版本的 Visual Studio 来编译静态库?

visual studio除了6还有哪个版本用得多而又不占内存?如何实现多visual studi

使用以前版本的 Visual Studio 的 devenv 从 VS2017 测试 Visual Studio 扩展不起作用

Visual Studio 2012支持哪个XP版本【作为目标操作系统】