解决Visual Studio运行VB项目时”签名时出错”异常小记

最近做项目的时候,需要修改重做一个用VB.Net编写的小项目。

拿到原工程后,Visual Studio能正常打开并修改代码,但是一旦点运行开始编译后,VS就直接报错了,提示“签名时错误”,如下图

刚开始怀疑是不是项目的文件有缺失,但并不是,而且也没有引用或者文件报错。

网上查询了一番,似乎也没有人遇到过一模一样的问题。虽然有人提到可能是ClickOnce的原因(ClickOnce是VB.Net中提供的一个一键部署程序的功能),可惜并没有提到怎么直接解决。虽然猜测直接从Visual Studio中移除掉ClickOnce组件可能可以解决,但不是太现实,而且治标不治本。

最后按照这个报错本身的信息去排查,还是成功找到解决方法,而且相当简单。因为网上没有找到一模一样的问题,还是在这里记录一下好了。

点击菜单中的“项目”-“属性”,然后在项目属性中找到“签名”这一页,可以在“证书”中看到一些信息(如下图)。整个工程实际上是从另一台电脑上迁移过来的,所以这里显示的签发者是之前一台计算机。实际上导致报错的也正是这里的这个证书签名,重新创建一个即可。

直接点击右边的“创建测试证书”按钮,会弹出一个窗口要求输入证书的密码,随意输入即可(如下图)。

实际上后面又试了一下,这个密码可以直接留空,推测这个密码应该只是生成证书的时候用来计算数据的,留空或者随便输入应该没有影响。

输入两次后,直接点击确定关闭对话框。

OK,现在“证书”中显示的信息就已经被更新成当前计算机签发的证书了。直接按F5运行一下,项目已经能正常运行了。

虽然问题解决了,知道是由于证书问题引起的,但还是有一个让人困惑的地方。VS在建立VB.Net项目的时候会自动签发一个证书,但是当整个项目全部拷贝到另一台计算机上后,为什么证书就失效了?还是说VS由于某些安全因素的考虑不允许使用其他计算机签发的证书呢?当然这个问题也许只能期待有碰巧看到了这篇文章的大佬们解答了( ̄▽ ̄)"

除特别注明外,本站内容皆为 咸鱼先锋 原创,可自由引用,但请注明来源和链接。
https://xyuxf.com/archives/1540
欢迎关注 咸鱼先锋 (微信号公众号:xyuxf),获取干货推送
THE END
分享
二维码
< <上一篇
下一篇>>