SignTool 错误:发生了意外的内部错误。错误 MSB3482

Posted

技术标签:

【中文标题】SignTool 错误:发生了意外的内部错误。错误 MSB3482【英文标题】:SignTool Error: An unexpected internal error has occurred. error MSB3482 【发布时间】:2020-05-27 21:51:16 【问题描述】:

3>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(3975,5):错误 MSB3482:签名时出错:无法签署 bin\Debug\app.publish\Halmanac.exe。 SignTool 错误:发生了意外的内部错误。

错误是 C# 中 winforms 应用程序的 clickonce 发布过程,使用 GoDaddy 的代码签名证书进行 clickonce 部署。证书有效且有效 - 将于 2020 年 9 月 22 日到期。如果我删除证书(取消选中代码签名),错误就会消失,我可以发布 exe。我想要证书来防止安装问题。

该应用程序已运行多年,每年都有细微的变化。当我收到错误时,我恢复了已使用证书部署的 6 个月前的副本,但我收到了同样的错误。因此,计算机上发生了一些变化。我正在运行当前版本的 Windows 10。

如何解决这个问题?

你建议我做什么?

【问题讨论】:

【参考方案1】:

我不知道这是否是您的情况,但就我而言,我在自 2019 年以来未更新的旧项目上遇到此错误,我需要进行一些修复并再次发布。此错误显示没有更改项目文件(仅代码)。

读完之后: SignerSign() failed. (-2146869243/0x80096005)

由于 exe 符号的其他错误,我重新访问了代码符号设置页面,发现它正在使用带有 URL 的时间戳服务器: http://timestamp.comodoca.com/?td=sha256

我删除了 /?td=256 部分,如下所示: http://timestamp.comodoca.com

现在项目编译没有问题

【讨论】:

这为我解决了问题。我什至重建了我的项目,并且能够签名。直到我到达发布步骤,所以我知道这与发布有关。谢谢!【参考方案2】:

我想回答我自己的问题。经过对各种可能原因的大量研究。我确实使用signtool手动签署了EXE。这至少证明了 signtool 和 CSC 正在工作。在我的最后一步中,我查看了 32 位和 64 位输出 exe 的编译参数。该软件是一个EXE和2个DLL。我确保检查了制作 EXE 所涉及的每个参数。经过多次更改/修复/调整后,该软件发布了 Clickonce EXE。我从 Internet 安装了 EXE,一切正常。我不知道是什么解决了问题,但错误消失了。在我看来,EXE 和 DLL 之间的参数存在冲突。罗伯特·尼尔 07-15-2020

【讨论】:

以上是关于SignTool 错误:发生了意外的内部错误。错误 MSB3482的主要内容,如果未能解决你的问题,请参考以下文章

SignTool 错误:未找到符合所有给定条件的证书。 VS2019

如何为 VS 2017 安装 SignTool.exe?

Visual Studio 签名失败(signtool.exe 错误)

发送开发时发生意外错误,但未实时发生

发生了意外错误。与安装 conda pkgs 相关

Google 内部应用共享 - 意外错误