未能将许可证文件‘licenses.licx’转换为二进制资源 [原创 2005-09-16 23:23:25 ] 发表者: Figo0826 |
|
本文部分文字来源于网络,感谢原作者
今天晚上,在做一个从网页中提取内容的vb.net程序时,当时只是改变了一下窗体的默认图标,其他的没有做任何改动,但在编译时却突然出现了错误提示(XXX表示项目所在文件夹)
XXX\licenses.licx 未能将许可证文件“licenses.licx”转换为二进制资源。未将对象引用设置到对象的实例
由于在未改变图标之前编译很正常,因此怀疑是改变图标引起的,将改变撤销后,编译,仍然出现相同的错误提示。
由于原来没注意过该文件,不清楚此文件的作用,因此第一想法就是删除该文件,看看效果如何。为保险起见,将文件放在了回收站中,并未彻底删除。完成后编译,结果系统提示找不到系统文件licenses.licx,由此看来一定在某个项目文件里已经记录了该文件了,或者是该文件是不可或缺的。
通过查找,发现项目文件.vbproj里有这个文件的记录
<File RelPath = "licenses.licx" BuildAction = "EmbeddedResource" />
索性将这段代码从项目文件里删除,再次编译,顺利通过。后来再次改变图标,再没有出现过错误。
后来上网查询该文件的作用时,发现了有网友在blog上发表的相同错误的解决方法,和我的上述做法一样,但是又提到了该做法只能保持一段时间不出现该错误,在改变控件属性或位置后该错误会继续出现。针对这种情况,提出了一个彻底解决的方法:将licenses.licx 属性的 生成操作 由 嵌入的资源 改成 无。
该方法我没有试验过,不过有此困然的朋友可尝试一下。
|