/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

VS2017 签名时出错: 未能对 bin\Debug\app.publish\*.exe 签名。SignTool Error: No certificates were found

2017-09-30 十有三 1 浏览:5万+ .NET技术 C#

在使用Visual Studio 2017时遇到项目生成失败的问题,出现错误:签名时出错: 未能对 bin\Debug\app.publish[项目名称].exe 签名。SignTool Error: No certificates were found that met all the given criteria.

SignTool Error: No certificates were found that met all the given criteria.

目录

  • 一、简单粗暴的解决办法
  • 二、总结与归纳

一、简单粗暴的解决办法

这里先说下最简单的方法,只要取消掉项目的ClickOnce清单签名即可,此方法不可滥用,有一定的局限性和要注意的地方,后面会说明原因。具体操作方法如下:

1、 在VS右侧的解决方案资源管理器里找到生成失败的项目。

2、 右键打开项目的属性。

打开项目属性

3、 在属性设置界面中找到签名选项卡。

4、 取消“为ClickOnce清单签名”勾选。

取消签名多选框

完成操作后重新生成

5、 关闭属性设置界面后然后重新生成下项目就可以了。

这个方法虽然简单,但是要根据自己的情况来,不能瞎操作。之所以这样说是因为SignTool Error的问题和签名证书有关,如果项目是属于公司的,或者说这个项目的部署有用到对应的证书,这种情况只能想办法重新安装证书,当然具体怎么操作还是得跟着自己的情况来,最好咨询下项目负责人。

但如果项目本身就没有要用到签名证书的业务,那情况就和我类似,糊里糊涂对项目(Windows应用程序的项目)进了发布操作,随后就莫名其妙的遇到无法生成老报错的情况。我回想了下自己当时操作,大概就是在发布向导界面瞎按了一通完成了发布,随后不小心把对应的证书文件删除了或者做了什么不可描述的操作,结果就出现项目生成时因为签名失败而出错。

PS:其实错误信息也提示很清楚了:"No certificates were found...",大意就是:签名错误的原因是没有找到符合给定规范的证书,所以要么证书丢了要么证书有问题咯。我的项目是一个控制台应用程序(只是用来测试几段代码的),VS2017用的是社区版本的。

二、总结与归纳

首先要明白VS2017中Windows应用程序的发布/部署默认使用的是ClickOnce技术进行部署,按照官方文档.aspx)的说明:

若要使用 ClickOnce 部署发布应用程序,必须用“公钥/私钥对”为应用程序的部署清单和应用程序清单签名。

所以问题关键点就是围绕着项目部署所使用的签名证书来的,如果仔细留意会发现项目第一次发布后,会自动生成一个.pfx文件(证书文件)。解决方法要么取消相关签名操作,要么修复有问题的证书(可以检查下证书是不是被删除了或者过期之类的)。

几个额外备注:

  1. Windows窗体或控制台应用程序都是属于Windows应用程序。
  2. 关于ClickOnce部署技术,本文没有详细说明,建议另外查阅资料。

版权声明:本文由十有三创作,采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请务必署名-保留作者名称及出处:https://shiyousan.com/post/636422963761134191。


  • 上一篇: 解析ASP.NET中获取不到用户名及注销后User.Identity.IsAuthenticated值依然为true的原因
  • 下一篇: GitHub Desktop下载失败 无法启动应用程序

相关文章
  • 分享一个MIME Types大全网址
  • Visual Studio Community 2013 微软官方Q&A 英汉翻译对照
  • ASP.NET MVC 使用视图引擎实现页面静态化
  • VS重构重命名的快捷键
  • Visual Studio 2013 社区版和速成版之间的区别
  • 解决IIS ASP.NET 网站发布后出现错误 Unable to connect to any of the specified MySQL hosts

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • LINQ TO SQL调用dbml文件无法打开,提示未能检索当前项目.dbml 中存在验证错误而失败
  • Windows Server 2012 R2 服务器管理器的工具菜单下找不到Windows Server Backup
  • ASP.NET .exclude 是什么文件?
  • 探究Visual Studio生成的.vs文件夹内部结构和作用
  • 使用WEB 平台安装BlogEngine.NET 3.2 后出现HTTP Error 500.19错误

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号