尝试在 Visual Studio 中使用 SHA256 对程序集进行签名时出错

Posted

技术标签:

【中文标题】尝试在 Visual Studio 中使用 SHA256 对程序集进行签名时出错【英文标题】:Error attempting to sign assembly with SHA256 in Visual Studio 【发布时间】:2016-05-13 08:42:02 【问题描述】:

我有一个在 Visual Studio 中创建的 XAML 浏览器应用程序,我试图将其部署到客户端。 (使用 Visual Studio 2015 社区。)

在尝试使用商业证书(SHA256 算法)对我的 ClickOnce 程序集进行签名时,Visual Studio 给出以下错误消息:

C:\Program Files\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3616,5): error MSB3482: An error occurred while signing: Failed to sign bin\Debug\app.publish\ [程序集名称] .exe。 SignTool 错误:无效选项:/fd

以前我们使用的是自发行的测试证书,该证书使用具有以下设置的 SHA1:

但是,当尝试使用具有以下设置的自行颁发的 SHA256 测试证书(或使用同样是 SHA256 的商业证书)时,我们会收到上述错误。

关于如何让 Visual Studio 使用这些 SHA256 证书的任何想法?

【问题讨论】:

检查***.com/questions/21844014/… 你熟悉这个问题吗?该页面已输出签名工具已成功运行。我收到一个错误。 【参考方案1】:

您确定您使用的是最新版本的 SignTool?执行更新到最新版本的最简单方法是转到程序和功能,选择 Visual Studio 2015 社区,单击弹出窗口中的更改选择修改。确保您选择了选择 ClickOnce 发布工具选项。安装后重试您的操作。 Selecting ClickOnce publishing tools

【讨论】:

我们最终让 DigiCert 将证书重新颁发为 SHA1。 Visual Studio 绝对不会与 SHA256 搭配得很好。当时(2016 年 5 月)安装了最新版本的 Visual Studio 2015 社区。更新 2 或更新 3 出来后我们没有再试;也许有人可以证明这是否是一个错误和/或是否已修复?

以上是关于尝试在 Visual Studio 中使用 SHA256 对程序集进行签名时出错的主要内容,如果未能解决你的问题,请参考以下文章

DLL 锁定 - Visual Studio 2010 C++

在 Visual Studio 2003 中使用 ELMAH

尝试在 Visual Studio 2005 上运行使用 Oracle 库的应用程序

Microsoft Visual Studio 2015激活密匙

尝试在 Visual Studio 中使用 gulp 参考 ng2-bootstrap 编译打字稿

当我尝试在 Visual Studio 中输入时,它会覆盖下一个字符 [重复]