我发布我的 exe 并激活自动更新。
但是我编译exe的时候出现错误:
严重性代码描述项目文件行抑制状态错误An 签名时出错:签名失败 bin\Debug pp.publish\myapp.exe。 SignTool 错误:无效选项:/fd
所以我不能发表。
当我尝试取消选中“签署 ClickOnce 清单”时,错误消失了 但我无法安装该软件包,因为 Windows 不允许并且 Windows Defender SmartScreen 阻止了我的应用程序,因为没有证书。
我必须从“签署 ClickOnce 清单”添加证书,但现在它给出了“SignTool 错误:无效选项:/fd”错误。
我该如何解决这个问题?
我不得不将签名算法从 sha256RSA 更改为 sha1RSA
我做了与 Stefano 正好相反的事情——将它从 sha256RSA 更改为 sha1RSA——然后它让我可以毫无错误地发布。
只需更改签名算法就可以解决问题。
我在将旧的 ClickOnce 项目从 VS2008 迁移到 VS2017 时遇到了相同的错误消息。看来我的 VS2008 使用的是旧版本的 SignTool。
我发现(并成功)了一个更改注册表项的技巧
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 回答)
进入工程文件myapp.csproj文件,搜索'SignManifests'PropertyGroup,将值改为false,错误消失。这对我有用。