我在Visual Studio 2017中有多个WinForms项目,其中一年的自动证书已过期(或将要过期)。创建了一个新的自签名证书,其有效期为2119。
多个网站指示创建证书的相同步骤。其中之一是:
我已经尝试在对程序集进行签名时添加PFX以及对ClickOnce清单进行签名,但是在编译时仍会收到相同的错误消息:
在VS Developer命令提示符中,手动安装的命令产生了一条消息,提示密钥对已经存在,因此我删除并重新添加了VS_KEY,但是编译仍然没有运气。
错误:“无法安装密钥对-对象已存在。”
sn -i CompanyFile100.pfx VS_KEY_C0AA3FA6F491AC23
sn -d VS_KEY_C0AA3FA6F491AC23
VS解决方案已关闭并清洗了多次。在尝试重新创建证书之间,已通过证书管理器删除了证书。
任何对解决问题的智慧都将受到赞赏。应该在个人或受信任的根CA级别加载证书吗?在ClickOnce清单或程序集级别是否有使用限制?
谢谢。
答案 0 :(得分:0)
一个有趣的解决方案,尽管对我有点疏忽。 VS2017解决方案包含多个项目。尽管已将过期的证书从系统中删除,但在解决方案资源管理器中显示的多个项目中,有多个对PFX文件定义的对象引用。尽管PFX文件已在后台删除,但尚未找到解决方案资源管理器的参考。清理了损坏的前端引用后,编译就顺利完成了。