本文介绍MSB3482错误代码。
消息文本
MSB3482: An error occurred while signing:
DESCRIPTION
当 MSBuild 在运行 SignFile 任务时尝试对输出文件进行签名时遇到错误时,会发生此错误。
决议
首先,确认签名文件是否存在。 接下来,请确保已安装签名工具(该工具作为 Visual Studio 的一部分安装)。
标准输出消息文本后跟来自签名工具的额外信息。 查看其他信息以确定问题的原因。 如果错误提到不支持的选项,例如 /fd
该选项,则系统上可能有较旧版本的 signtool.exe 文件。 当进程遇到旧版本或不支持的文件时,MSBuild 将返回此错误消息。
MSBuild 适用于 Visual Studio 或 .NET SDK 安装中的工具版本。 问题的修复取决于具体情况。 一些可能的解决方法包括:
- 编辑 PATH 环境变量并重新排序目录
- 卸载、重命名或隐藏旧版 signtool.exe 工具
- 卸载或更新包含该工具的软件包,例如更新旧版 Windows SDK
指纹或证书无效
如果指纹无效,则会触发加密错误,你可能会看到MSB3482错误。 检查提供给 CertificateThumbprint
任务的 SignFile
参数的字符串值。 证书指纹是证书的 SHA-1 哈希。 有关详细信息,请参阅 获取受信任的根 CA 证书的 SHA-1 哈希。 如果复制并粘贴证书详细信息中的指纹,请确保不包含额外的 (3F
) 不可见字符,这可以防止 SignFile
任务查找证书。
测试证书在一段时间后过期。 可能需要创建新的证书。 如需更多信息,请参阅 签署应用程序和部署清单。 有关 Visual Studio 2019 或更高版本中较新的 .NET 项目,请参阅 使用 ClickOnce 部署 .NET Windows 桌面应用程序。
在非交互式环境中运行程序(例如管道中的脚本)时,可以使用命令行工具 certutil 创建证书:
certutil –f –p [certificate_password] –importpfx <path to pfx file>
适用于
MSBuild 的所有版本