VS C#因为某项目未能生成,所以无法发布

来源:互联网 发布:淘宝怎么修改手机号 编辑:程序博客网 时间:2024/05/17 04:32

简介

VS因为某项目未能生成,所以无法发布,错误类型:
2 生成引导程序时出错: Unable to finish updating resource for bin\Debug\app.publish\setup.exe with error 80070005

可能原因:
1、签名时出错
2、上次发布中产生的“碎片”dll阻碍本次的生成
3、非签名时出错

解决方案

1、签名问题

签名问题,包括Visual Studio发布应用未能创建默认证书的问题解决方法。

我用Visual Studio自带的生成->发布,提示”未能创建默认证书.正在中止发布”。
这个问题当时出现后,特意在网上找了一下,发现不少人也遇到同样的问题。

解决方法:点击你创建的项目 右键》 属性》签名》从存储区选择》选择证书
这里写图片描述

当我这么做的时候,显示无可用证书 qwq ,心情多么无语。。。
然后我从文件区选择了一个结果,又出现了第二个问题。提示我“签名时出错: 指定了无效的提供程序类型。”
这就很尴尬了啊!!
后来又找了好久解决方法,终于找到了。
点击电脑菜单,在Office中工具下选择VBA工具,如图
这里写图片描述

双击运行,输入你的项目名称:直接copy项目最上方的名字

这里写图片描述

此时就可以在VS的签名中导入刚才创建好了的证书,从存储区域选择:
这里写图片描述

接着重新生成就可以成功发布了

2、碎片问题

在.NET的winform项目发布时,有时会出现错误信息“因为某项目未能生成,所以无法发布”
msdn的解释是:项目生成过程中出错,具体信息这儿
错误原因:该项目引用了外部dll,且已经发布过一次,因此上次发布中产生的“碎片”dll阻碍本次的生成。
解决方法也是很简单:删除bin/Debug目录中的所有内容即可,(外部引用dll不要删除)。
这里写图片描述

非签名问题导致产生的错误1

该发布的项目在VS2010上生成运行是没问题的,但是使用clickonce发布后就会出现这两个错误提示,查询错误原因网上都说是那个签名的问题,

但是检查后发现都不是这个原因,最后通过自己查找各种原因和进行各种尝试,发现这是由于打开VS2010的用户非administrator而是其它用户,

导致clickonce发布的权限不足导致的,解决方法有两种:

1.登陆操作系统时候用管理员身份登陆,然后打开VS2010进行clickonce发布即可;

2.打开VS2010时候以管理员身份运行。

非签名问题导致产生的错误2

把安装的DevExpress卸载掉,就可以发布了。如果你也出现了发布不了的情况,可以试试看。

PS:有时都要同时考虑,先清理debug缓存,再重新导入证书。

参考

【1】Visual Studio发布应用未能创建默认证书的问题解决方法 - CSDN博客
http://blog.csdn.net/md912165100/article/details/51502672
【2】因为某项目未能生成,所以无法发布 - 郑林的专栏 - CSDN博客
http://blog.csdn.net/zlbcdn/article/details/23694799
【3】VS2010 clickonce发布错误:因为某项目未能生成,所以无法发布 非签名问题导致产生的错误 - 怎么会一这样子 - 博客园
http://www.cnblogs.com/churun/p/4465412.html
【4】ClickOne 解决VS发布问题——“因为某项未生成,所以无法发布”(ClickOnce签名过期问题) - LYB@WWP - CSDN博客
http://blog.csdn.net/lybwwp/article/details/8210677
【5】C#开发 “因为某项目未能生成,所以无法发布” - 小飞鱼通达商务 - CSDN博客
http://blog.csdn.net/upi2u/article/details/9411619