Vb.net SignTool错误:无效选项:/fd

Vb.net SignTool错误:无效选项:/fd,vb.net,installation,clickonce,publish,auto-update,Vb.net,Installation,Clickonce,Publish,Auto Update,我发布我的exe并激活自动更新 但当我编译exe时,出现了一个错误: 严重性代码说明项目文件行抑制状态错误 签名时出错:未能签名 bin\Debug\app.publish\myapp.exe。SignTool错误:无效选项:/fd 所以我不能发表 当我尝试取消选中“为ClickOnce清单签名”时,错误消失了 但我无法安装该软件包,因为Windows不允许,而且Windows Defender SmartScreen由于没有证书而阻止了我的应用程序 我必须从“为ClickOnce清单签名”添加

我发布我的exe并激活自动更新

但当我编译exe时,出现了一个错误:

严重性代码说明项目文件行抑制状态错误 签名时出错:未能签名 bin\Debug\app.publish\myapp.exe。SignTool错误:无效选项:/fd

所以我不能发表

当我尝试取消选中“为ClickOnce清单签名”时,错误消失了 但我无法安装该软件包,因为Windows不允许,而且Windows Defender SmartScreen由于没有证书而阻止了我的应用程序

我必须从“为ClickOnce清单签名”添加一个证书,但现在它给出了“SignTool错误:无效选项:/fd”错误


如何解决此问题?

我必须将签名算法从sha256RSA更改为sha1RSA

将旧的ClickOnce项目从VS2018迁移到VS2017时,我遇到了相同的错误消息。似乎我的VS2018使用的是旧版本的SignTool

我发现(并成功地)了一个技巧,可以更改注册表项HKEY\U LOCAL\U MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDK\Windows,使Windows使用更新的SDK(在我的情况下,SDK v8.1A是最新的)


可以在这里找到原始提示:(向下滚动到nikidimi的答案)

我做了与Stefano相反的事情-将它从sha256RSA更改为sha1RSA-然后它允许我发布而没有错误


只要更改签名算法就可以了。

这不是一个无效的选项。你的机器坏了。从名为“signtool.exe”的文件中搜索磁盘驱动器。