发布.NET Core时如何解决PFX签名不支持的错误

时间:2018-06-29 16:07:07

标签: visual-studio .net-core certificate publish pfx

我一直在尝试使用PFX文件对程序集进行签名。一切正常,我在Visual Studio上访问了Properties / Signing,但是每当我运行 dotnet publish 命令时,都会出现此错误:

C:\ Program Files \ dotnet \ sdk \ 2.1.201 \ Microsoft.Common.CurrentVersion.targets(3210,5):.NET Core不支持错误的PFX签名

我一直在寻找解决此问题的方法,但到目前为止还没有运气。

2 个答案:

答案 0 :(得分:2)

因此,考虑到PFX不再支持SNK签名,因此我认为应该使用SNK签名。

答案 1 :(得分:0)

  1. 从 PFX 导出公钥:sn -p key.pfx key.pub
  2. 通过将 <DelaySign>true</DelaySign> 添加到项目文件或通过 AssemblyDelaySignAttribute 为您的程序集启用延迟签名。使用第 1 步中的公钥而不是 PFX 进行签名。
  3. 构建后重新签署您的程序集:sn -R assembly.dll key.pfx

https://docs.microsoft.com/en-us/dotnet/framework/tools/sn-exe-strong-name-tool