未能将许可证文件‘licenses.licx’转换为二进制资源

今天晚上,在做一个从网页中提取内容的vb.net程序时,当时只是改变了一下窗体的默认图标,其他的没有做任何改动,但在编译时却突然出现了错误提示(XXX表示项目所在文件夹)

XXX"licenses.licx 未能将许可证文件“licenses.licx”转换为二进制资源。未将对象引用设置到对象的实例

由于在未改变图标之前编译很正常,因此怀疑是改变图标引起的,将改变撤销后,编译,仍然出现相同的错误提示。

由于原来没注意过该文件,不清楚此文件的作用,因此第一想法就是删除该文件,看看效果如何。为保险起见,将文件放在了回收站中,并未彻底删除。完成 后编译,结果系统提示找不到系统文件licenses.licx,由此看来一定在某个项目文件里已经记录了该文件了,或者是该文件是不可或缺的。

通过查找,发现项目文件.vbproj里有这个文件的记录

<File RelPath = "licenses.licx" 
0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.width;}}" twffan="done" align="top">      BuildAction 
= "EmbeddedResource"
0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.width;}}" twffan="done" align="top">
/>

索性将这段代码从项目文件里删除,再次编译,顺利通过。后来再次改变图标,再没有出现过错误。

后来上网查询该文件的作用时,发现了有网友在blog上发表的相同错误的解决方法,和我的上述做法一样,但是又提到了该做法只能保持一段时间不出现该错误,在改变控件属性或位置后该错误会继续出现。针对这种情况,提出了一个彻底解决的方法:将licenses.licx 属性的 生成操作 由 嵌入的资源 改成 无。


//////////////
以上是来自网络的方法。当安装
Dundas.Chart.for.ASP.NET.Enterprise后也可解决此错误。
不知道这是不是vs2003的bug
原文地址:https://www.cnblogs.com/ice5/p/1214269.html