时间:2018-7-10来源:本站原创作者:佚名

写在前面:

由于初期建设项目时,项目命名没有十分规范,因为为了改掉项目命名,用了一个全部替换功能,产生了一大堆丢失问题,然后越改心里越毛躁,就直接删除了Resources文件、Setting文件(是想通过代码自动生成以为可以省很多事情)。

BUG成因:

经过一系列骚操作之后,新生成的Resources文件、Setting文件果然不出意外报出了不小bug。因为全部替换字符出现的其中GDI+一般性错误,最折腾人。

这个窗体.resx文件图片的字符出错。

BUG详情:

错误1“GenerateResource”任务意外失败。

GDI+一般性错误......

BUG解决:

经过长时间查找,大多把矛头指向VisualStudio的问题,什么重新生成项目、删除obj、bin的内容等等等,但是对于本Bug仍旧无动于衷。

后来打开报错窗体,发现了很明显的变化,通过本地资源载入的图片发生了色差的变化。感觉是图片资源有问题,就寻着这条线走。才发现原来我项目里面由于不规范操作,埋下了伏笔,在资源添加的时候,两种添加方式,由于自己没有定义好规则,因为到后期自己也乱了谁是用哪种方式添加的。

本地资源:会生成代码,除了窗体上面展示,它的代码会存放在窗体.resx文件里面。

导入资源:会存放在Resources.resx里面。

在这里需要注意的是,除了resx后缀的文件里面会展示资源,在xxx.Designer.cs通过引用资源的代码也会自动生成在这里,这两个一定要对应起来,否则也会出现Bug。

重新确认了导入资源、和本地资源。果不其然是因为本地资源虽然在窗体.resx里面纯在对应资源,但是因为全部替换字符可能会把某些资源保存的内容给换错,因此出现数据损坏(本地资源图片会把图片存储为字符保存在项目中,不会直接引用位置)。把本地资源内容更新一下,就可以解决此Bug。

写在后面:

实在庆幸解决了,要是没搞定,就要重建了,可能会哭起来。

愈来喻好

共同努力进步吧!!!

赞赏

人赞赏

长按







































十月中科白癜风专家会诊
北京哪家白癜风医院比较好

转载请注明原文网址:http://www.helimiaopu.com/bbqb/bbqb/6424.html

------分隔线----------------------------